Ангулярджс:Узнайте, как работает ngChecked

StackOverflow https://stackoverflow.com//questions/10666345

  •  11-12-2019
  •  | 
  •  

Вопрос

Я попытался изменить пример с ng-checked, чтобы нажатие на один из флажков автоматически обновляло другой.

Нажатие A, затем B, затем снова A — это не то, что я ожидаю.

Какую часть документации мне следует просмотреть, чтобы понять, что происходит?

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

Это было полезно?

Решение

Почему бы вам не подключить оба флажка к одной и той же модели?

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

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

Чтобы объяснить вашу скрипку:

ng-checked не обновляет модель, а обновляет только представление (флажок) при изменении выражения.

Нажмите А:тот master меняется на true, флажок B следит за своим ng-checked value и, следовательно, также обновляет проверяемое представление.

Нажмите Б:тот master2 меняется на false, флажок A следит за своим ng-checked value и, следовательно, обновляет представление, чтобы оно также не было отмечено.

Нажмите А:тот master установлено на true и это на самом деле не изменение, поскольку значение уже было true, поэтому он не запускает обновление B.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top