<pre data-bind="text: ko.toJSON($data, null, 2)"></pre>
<ul data-bind="foreach: arrData" >
<li>
<span data-bind="text: name"></span>
</li>
</ul>
结构类似于$ data.arrData,其中arrData是一个observablearray。 我修改了这样的内容:
arrData().splice(0, 1, ko.toJS(data.selectedData));
$ data变量确实更新但不更新observableArray。但是如果我在开头插入数组,则显示旧值,但不显示新值。
答案 0 :(得分:3)
通过使用arrData
读取arrData()
的值,您将重新回到底层数组。您似乎希望直接在可观察数组本身上使用splice
的版本:
arrData.splice(0, 1, ko.toJS(data.selectedData));