Variable innerhalb von angularjs Direktive mit isoliertem Bereich binden
Jeder AngularJs-Entwickler kennt die AngularJs-Direktiven. Jetzt wissen viele Entwickler über isolated Scope-Methoden Bescheid. Im Allgemeinen hat AngularJs Direktivenbereich 3 Typen: inherit, not inherit und isolated. Heute werden wir über das isolierten Scope sprechen.
Wenn Sie einen isolierten Bereich für Anweisungen verwenden, haben Sie 3 Möglichkeiten, sie zu verwenden: '=', '@', '&'. Die erste ist eine 2-Wege-Bindung.
Manchmal möchte man eine Direktive mit isoliertem Umfang haben, aber man muss sie überall binden. Zum Beispiel möchten Sie den Empfänger darauf einstellen (watch). Es gibt 2 Möglichkeiten, das zu machen. Lassen Sie uns ein Beispiel betrachten.
...
module.directive("myDirective",function(){
return {
...
link: function(scope, el, attrs){
scope.$watch(attrs.[any_attribute],function(data){ // for example any_attribute = 'ngModel'
// alles, was Sie möchten
},true)
}
}
})
...
module.directive("myDirective",function(){
return {
...
scope: {
variable: '='
}
...
link: function(scope, ...){
scope.$watch('variable',function(data){
// alles, was Sie möchten
},true)
}
}
})
Wie Sie sehen, gibt es 2 Möglichkeiten, das zu tun, aber die Zweite Methode ist professioneller.