ich so etwas wie unten in DOM haben:Angular Einmaliger binden bedingt oder unbind Zuhörer, wenn ein bestimmter Wert eingestellt ist
<div ng-if="variant"
ng-include="'size-picker.html'">
</div>
Und in der Steuerung:
$scope.variant = false;
// after some unknown time there may be:
$scope.variant = true;
wollte ich zeigen, dass div, wenn variant
wahr ist. So wird
$scope.variant
wird von false
starten. Nach einiger Zeit kann/darf es nicht true
werden. Wenn $scope.variant
true
wird, wird es niemals seinen Wert ändern. Also, was ich will, ist einmalige Bindung, die ng-if
einmal $scope.variant
true
ist.
Ein Ansatz wie:
<div ng-if="::variant"
ng-include="'size-picker.html'">
</div>
stoppt verbindlich, wenn es falsch ist.
Ich kann es erreichen, indem Sie false
zu variant
in der ersten Zeit zuweisen, aber es ist nicht in meinem Fall möglich.
Wie kann ich die ng-wenn die variant
ist true
?
Danke. Du sagst also, eckig hört auf, diese Variable vollständig zu beobachten? Auch ist es abhängig von anderen Orten wie DOM? –
Ja, sobald Sie diese Scope-Variable in die Funktion '$ watch' setzen, wird ihr Bereich basierend auf einer Bedingung entfernt. – Sravan
Lassen Sie mich Ihnen ein Beispiel geben und es veröffentlichen. – Sravan