J'ai vu ici beaucoup de descriptions différentes dedéfinir les valeurs par défaut pour la portée isolée d'une directive. Mais quelle est la meilleure façon de faire cela et où devrais-je le faire. Est-ce mieux dans le contrôleur ou dans la fonction pré ou post-lien? Devrais-je définir les valeurs par défaut sur les attributs des fonctions de liaison ou de compilation ou directement sur la portée?
Réponses:
0 pour la réponse № 1Vous devriez commencer votre recherche avec la documentation relative aux directives AngularJS, en particulier la section isoler le champ d'application d'une directive.
Pour ma part, je préfère utiliser l'attribut scope
dans la directive comme ça:
directive("myCustomer", function() {
return {
restrict: "E", // Our directive must be describe as Element <myCustomer>.
scope: {
customerInfo: "=info"
},
link: function(scope, element) {
console.log(scope.customerInfo); // Should display "Naomi" in our example.
}
};
});
Et puis, initialisez votre directive dans le HTML:
<my-customer info="naomi"></my-customer>
Vous dites à la directive d'initialiser le scope.customerInfo
avec la valeur de l'attribut HTML info
Je ne sais pas si c’est la meilleure façon d’initialiser une directive, mais je pense que c’est presque une façon propre.