我的Observablearray在淘汰赛foreach绑定不更新?

时间:2015-10-21 15:23:06

标签: knockout.js

 <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。但是如果我在开头插入数组,则显示旧值,但不显示新值。

1 个答案:

答案 0 :(得分:3)

通过使用arrData读取arrData()的值,您将重新回到底层数组。您似乎希望直接在可观察数组本身上使用splice的版本:

arrData.splice(0, 1, ko.toJS(data.selectedData));