動的データ バインドのノックアウトを調べていて、複数の監視可能なオブジェクトを含めるために監視可能な配列が必要な状況があります。
これは私のコードです:
<ul data-bind="foreach: { data: categories, as: 'category' }">
<li>
<ul data-bind="foreach: { data: items, as: 'item' }">
<li>
<span data-bind="text: category.name"></span>:
<span data-bind="text: item"></span>
<input type="text" data-bind="value: item"/>
</li>
</ul>
</li>
</ul>
$(document).ready(function () {
ko.applyBindings(viewModel);
});
var viewModel = {
categories: ko.observableArray([
{ name: 'Fruit', items: [ko.observable('Apple'), ko.observable('Orange'), ko.observable('Banana')] },
{ name: 'Vegetables', items: [ko.observable('Celery'), ko.observable('Corn'), ko.observable('Spinach')] }
])
};
オブジェクトオブザーバブルを操作する場合、通常、入力テキストボックスの値を変更でき、その値は、そのプロパティが表示されていたページ全体に設定されます。
現在の例では、入力ボックスで同じことをしようとしましたが、テキスト ボックスの値を変更した後、スパンは現在の値になりませんでした。
observableArray 内の監視可能なオブジェクトを、スタンドアロンの監視可能なオブジェクトの場合と同じように動作させるにはどうすればよいですか?