AngularJS: Imparare come funziona NGChecked
-
11-12-2019 - |
Domanda
Ho provato a modificare l'esempio controllato NG in modo che fare clic su una delle caselle di controllo aggiornerebbe automaticamente l'altro.
Cliccando a, quindi b, quindi di nuovo, non sta facendo quello che mi aspetto.
Quale parte della documentazione dovrei guardare per capire cosa sta succedendo?
Soluzione
Perché non colleghi entrambe le caselle di controllo dello stesso modello?
<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/
==================================================================================
Per spiegare il tuo violino:
ng-checked
non aggiorna il modello, aggiorna solo la vista (casella di controllo), una volta che l'espressione cambia.
Fare clic su A: Il master
viene modificato in true
, la casella B che guarda il suo valore ng-checked
e quindi aggiorna anche la vista da controllare.
Fare clic su B: Il master2
viene modificato in false
, la casella di controllo sta guardando il suo valore ng-checked
e quindi aggiorna la vista per essere deselezionata pure.
Fare clic su A: Il master
è impostato su true
e non è davvero una modifica del valore già è stato true
, quindi non attiva l'aggiornamento di B.