/ / Zugriff auf eine Variable im Rahmen einer Direktive - angularjs, angularjs-Direktive

Zugriff auf eine Variable im Rahmen einer Direktive - angularjs, angularjs-Direktive

Wie kann ich auf eine Variable im Rahmen einer Richtlinie zugreifen?

Ich habe eine Direktive:

angular.module("app").directive("any", function() {
return {
restrict: "E",
scope: {
attr: "@"
},
controller: function($scope) {
$scope.attr = $scope.attr != undefined;
},
template: "Result (true/false): {{attr}}"
};
});

Und im HTML zum Beispiel:

<any attr="bla"></any>

Aber die Variable $scope.attr Überreste bla, ändert sich nicht mit dem Wert von wahr oder falsch. Wie kann ich?

Antworten:

2 für die Antwort № 1

Verwenden Sie nicht die gleiche Variable, um den Vergleich mit undefiniert und dem tatsächlichen zu halten attr Wert.

Jedes Mal, wenn angular seine Digest-Schleife ausführt, setzt es den neuen Wert von attr im Rahmen.


-1 für die Antwort № 2

Wenn Sie ein erstellen Bereich isolieren AngularJS bietet in AngularJS drei Arten von Präfixen:

  1. "@" (Textbindung / Einwegbindung)
  2. "=" (Direkte Modellbindung / Zweiwege-Bindung)
  3. "&" (Verhaltensbindung / Methodenbindung)

Was Sie verwenden, ist die Einweg-Bindungsmethode. Damit Sie es in Ihrem HTML korrekt verwenden können, müssen Sie Folgendes tun:

<any attr="{{ bla }}"></any>