ここでドキュメントを参照します:ng-checked
ここでは、ページの下部にある例で、最初のチェックボックスをクリックすると 2 番目のボックスもチェックされることがわかります。
これで私が見つけた動作は、最初のチェックボックスがオンになっている場合でも、2 番目のチェックボックスをオフにすることができるということです。つまり、最初のチェックボックス (マスターチェックボックス) をオンにした後、2 番目のチェックボックスが自動的にオンになります。2番目のチェックボックスをオフにしようとすると、奇妙に思えます。ディレクティブは、まだ であるモデルにng-checked
バインドされています。 master
true
では、なぜ 2 番目のボックスのチェックを外すことができるのでしょうか? ng-checked
チェックされた状態が常に式と同期していることを確認するべきではありませんか?
マスターチェックボックスがチェックされている限り、2番目のボックスをチェックしたままにするにはどうすればよいですか?
参照コード:
Check me to check both: <input type="checkbox" ng-model="master">
<br/>
<!-- Expecting the following input to be checked as long as the master checkbox
is checked / User should not be able to uncheck this as long as master
is checked -->
<input id="checkSlave" type="checkbox" ng-checked="master">