ビューモデルに配列があります。この配列のアイテムは、2つのプロパティを持つPersonのオブジェクトです。これをテンプレートにバインドすると問題ありません。しかし、プロパティの1つの状態を変更すると、UIに反映されません。
私は何を間違えましたか?
<script type="text/html" id="person-template">
<p>Name: <span data-bind="text: name"></span></p>
<p>
Is On Facebook ?
<input type="checkbox" data-bind="checked: IsOnFacebook" />
</p>
</script>
<script type="text/javascript">
var ppl = [
{ name: 'Pouyan', IsOnFacebook: ko.observable(true) },
{ name: 'Reza', IsOnFacebook: ko.observable(false) }
];
function MyViewModel() {
this.people = ko.observableArray(ppl),
this.toggle = function () {
for (var i = 0; i < ppl.length; i++) {
ppl[i].IsOnFacebook = false;
}
}
}
ko.applyBindings(new MyViewModel());
</script>
ボタンを押すと、People.IsOnFacebookプロパティを変更します。変更は正常に行われますが、UIは表示されません。