La directive angularjs définit l'URL du modèle dynamiquement
Je suis de la création d'une directive dont le modèle d'URL. Je veux définir le modèle d'URL dynamiquement en fonction de user_role. Une idée?
Heres mon directive code:
RatingRX.directive "headermenu", ->
directive = {}
directive.restrict = 'E'
directive.templateUrl = "../assets/common/headerMenu{{user_role}}.html"
directive
Et je veux mettre user_role à partir du contrôleur. Par exemple:
$scope.user_role = 1
source d'informationauteur Sachin Prasad
Vous devez vous connecter pour publier un commentaire.
Vous pouvez passer d'une fonction à la templateUrl option et de retourner une chaîne de caractères qui sera utilisée comme un modèle d'url à la fin.
Tout d'abord attribuer un rôle sur l'élément comme un attribut (où userRole est lié à l'étendue):
Ensuite, la directive peut lire:
Mise à jour:
Cela marchait avant avec l'ancienne version de Anguleux.
<div ng-if="userRole === 'admin'" my-directive user-role="admin"></div>
vous pouvez manipuler
ng-include
comme un modèlehtml:
js:
démo: http://plnkr.co/edit/CCElZ317kYeZpa5ofmoo?p=preview
Ou si vous ne souhaitez pas définir le chemin d'accès complet dans le contrôleur:
html:
js:
démo: http://plnkr.co/edit/HEyUUzv6jbjZCDDbAzPm?p=preview
Pourquoi ne pas le faire:
alors:
Si pas le mettre dans le balisage.