ng-init="checked=presenter.present"
にブール値を渡そうとしているので、チェックボックスがオンになっているかどうかはわかりません。しかし、それは価値を伝えていないようです。私はng-init="checked={{ presenter.present }}"
を試しましたが、エラーが発生します。私は多くのチェックボックスを持っているので、コントローラオブジェクトからブール値を渡して、チェックボックスがあらかじめチェックされているかどうかを判断できるようにする必要があります。どんな助け?ありがとう!それは自動的にperson.present
の値に基づいてオンまたはオフを取得するように、あなたは、そのチェックボックス要素の上にng-model
を使用する必要がありますコントローラオブジェクトからのAngular-ng-initチェックボックスの値
front-end code
<div class="row" ng-repeat="person in vm.people">
<div class="small-12 large-3 columns"><input type="text" ng-model="person.name"></div>
<div class="small-4 large-1 text-center columns">
<div class="checkbox">
<input type="checkbox" id="{{ person.prid }}" name="{{ person.prid }}" ng-init="checked=person.present" />
<label for="{{ person.prid }}"></label>
</div>
</div>
.
.
.
<div class="small-12 large-6 columns"><input type="text" ng-model="person.notes"></div>
</div>
controller object
vm.people = [{
name: 'Evan',
prid: 'aaa',
present: true,
spid: 'aba',
speaking: true,
soid: 'abc',
soundcheck: true,
notes: 'stuff',
}, {
name: 'Amy',
prid: 'baa',
present: true,
spid: 'bba',
speaking: true,
soid: 'bbc',
soundcheck: true,
notes: 'blah blah',
}, {
name: 'Linda',
prid: 'caa',
present: true,
spid: 'cba',
speaking: true,
soid: 'cbc',
soundcheck: false,
notes: 'blah blah blah blah',
}, {
name: 'Tim',
prid: 'daa',
present: true,
spid: 'dba',
speaking: true,
soid: 'dbc',
soundcheck: true,
notes: 'blah blah blah',
}];
ng-initは、ドキュメントから控えめに使用する必要があります。この指示は、テンプレートに不必要な量のロジックを追加することに悪用される可能性があります。以下のデモで見られるように、ngRepeatの特殊なプロパティをエイリアスするなど、ngInitを適切に使用するのはほんのわずかです。サーバー側のスクリプトを使用してデータを注入するためのものです。これらのほとんどの場合のほかに、ngInitではなくコントローラを使用してスコープの値を初期化する必要があります。 – PeterS
コメントをお寄せいただき、ありがとうございます。 :) – Kenny