2015-04-29 2 views
0

У меня есть флажок, чье проверенное состояние (ng-checked) основано на вычисленном свойстве (ng-checked="someFunction()").ng-checked = "true" игнорируется при флажке

Для примера предположим, что его состояние проверки всегда должно быть проверено, то есть: ng-checked="true".

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

<input type="checkbox" ng-checked="true"> 

Так почему же нажав флажок сделать его остановить, если ng-checked является всегда правда?

Demo Plunkr here

+1

Из [doco] (https://docs.angularjs.org/api/ng/directive/ngChecked) ~ * "Если выражение правдиво, тогда специальный ** атрибут **" checked "будет установлен на элемент "*. Он устанавливает атрибут, а не свойство. – Phil

+0

Я голосую, чтобы закрыть этот вопрос как вне темы, потому что это ожидаемое поведение – Phil

+0

@Phil, я не спрашиваю о каком-либо связанном свойстве, только флажок checkbox, который контролируется 'check' специальный атрибут. – Bryce

ответ

4

нг проверен не предназначен для блокировки значения флажка, это один из способов связывания, который обновляет флажок, только если свойство ее граница к обновляются. Также вы не можете привязываться к примитивам (в данном случае логическому значению), вы должны привязываться к свойству объекта.

Если вы хотите отключить этот флажок, используйте атрибут disabled = "true".

Смежные вопросы