Question

J'ai essayé de modifier l'exemple ng-checked afin que cliquer sur l'une des cases mette automatiquement à jour l'autre.

Cliquer sur A, puis sur B, puis à nouveau sur A ne fait pas ce à quoi je m'attends.

Quelle partie de la documentation dois-je consulter pour comprendre ce qui se passe ?

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

Était-ce utile?

La solution

Pourquoi ne connectez-vous pas les deux cases au même modèle ?

<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/

==================================================================================

Pour expliquer votre violon :

ng-checked ne met pas à jour le modèle, il met uniquement à jour la vue (case à cocher), une fois l'expression modifiée.

Cliquez sur A :le master est changé en true, la case à cocher B surveille son ng-checked et met donc également à jour la vue à vérifier.

Cliquez sur B :le master2 est changé en false, la case à cocher A surveille son ng-checked valeur et met donc à jour la vue pour qu'elle soit également décochée.

Cliquez sur A :le master est réglé sur true et ce n'est pas vraiment un changement puisque la valeur l'était déjà true, cela ne déclenche donc pas la mise à jour de B.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top