Angularjs :Lernen, wie ngChecked funktioniert
-
11-12-2019 - |
Frage
Ich habe versucht, das ng-geprüfte Beispiel so zu ändern, dass durch Klicken auf eines der Kontrollkästchen das andere automatisch aktualisiert wird.
Wenn Sie auf A, dann auf B und dann wieder auf A klicken, wird nicht das getan, was ich erwarte.
Welchen Teil der Dokumentation sollte ich mir ansehen, um zu verstehen, was passiert?
Lösung
Warum verbinden Sie nicht beide Kontrollkästchen mit demselben Modell?
<div ng-app>
A - Check me to check both:
<input type="checkbox" ng-model="master"><br/>
B - Check me to check both:
<input type="checkbox" ng-model="master">
</div>
http://jsfiddle.net/ev62U/133/
==================================================================================
Um deine Geige zu erklären:
ng-checked
aktualisiert das Modell nicht, sondern nur die Ansicht (Kontrollkästchen), sobald sich der Ausdruck ändert.
Klicken Sie auf A:der master
wird geändert in true
, das Kontrollkästchen B beobachtet seine ng-checked
wert und aktualisiert daher auch die zu überprüfende Ansicht.
Klicken Sie auf B:der master2
wird geändert in false
, das Kontrollkästchen A beobachtet seine ng-checked
wert und aktualisiert daher auch die Ansicht, die deaktiviert ist.
Klicken Sie auf A:der master
ist eingestellt auf true
und das ist nicht wirklich eine Änderung, da der Wert bereits war true
, also löst es keine Aktualisierung von B aus.