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?

http://jsfiddle.net/cantcopy/ev62U/

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top