Eu vi aqui muitas descrições diferentes dedefinindo os valores padrão para o escopo isolado de uma diretiva. Mas qual é a melhor maneira de fazer isso e onde devo fazer isso? É melhor no controlador ou na função pré ou pós-link? Devo definir os valores padrão para os atributos nas funções de link ou de compilação ou diretamente para o escopo?
Respostas:
0 para resposta № 1Você deve começar sua pesquisa com a documentação de diretrizes do AngularJS, em particular a seção sobre isolar o âmbito de uma directiva.
Para mim, prefiro usar o atributo scope
na directiva assim:
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.
}
};
});
E então, inicialize sua diretiva no HTML:
<my-customer info="naomi"></my-customer>
Você diz à diretiva para inicializar o scope.customerInfo
com o valor do atributo HTML info
Eu não sei se é a melhor maneira de inicializar uma diretiva, mas eu acho que é quase uma maneira limpa.