Вы не должны использовать ngModel и ngChecked вместе.
ngChecked является односторонней привязкой, то есть он будет проверять только значение выражения и задавать ввод соответствующим образом, но если вы измените значение ввода, он не передаст значение переменной, к которой он привязан.
С другой стороны, ngModel проверит значение переменной, к которой она привязана, и установит значение переменной, если вход изменится.
Преимущество ngChecked over ngModel заключается в том, что вы можете использовать выражение вместо переменной.
Тем не менее, если оба присутствуют ngModel «побеждает» над ngChecked (ngChecked имеет приоритет 100, а ngModel имеет приоритет 1, поиск «приоритет» здесь: https://docs.angularjs.org/api/ng/service/ $ компиляции) и изменение выражения ngChecked не будут переданы переменная ngModel связана с
вы можете видеть в этом Plunker, что даже если Val1
имеет checked="true"
переменную $scope.selected
устанавливается в Val2
так нг-модель покоряет нг проверил http://plnkr.co/edit/nae3b46KNzFKVTqEQPG3?p=preview
Если вы хотите программно изменить статус флажка Вы должны отредактировать переменную, с которой вы связали вас r ng-model to или удалить ng-model и оставить только ng-checked (это зависит от того, что вы делаете).
Для получения дополнительной информации:
AngularJS: ng-model not binding to ng-checked for checkboxes
https://docs.angularjs.org/api/ng/directive/ngChecked
пожалуйста добавьте plunker или что-то, чтобы мы могли увидеть весь – Raulucco
я добавлю, что, но какой-то шанс, что я делаю что-то неправильно, что очевидно? –
Я думаю, что ваше выражение не правильно .... code plz –