我一直在查看knockout's的文档observableArray,但我无法弄清楚如何使用数组执行最基本的操作之一:按索引分配值。
我尝试过的事情:(给定oa = ko.observableArray([1,2,3]))
- oa(1, 10);
- oa[1] = 10;
- oa()[1] = 10;
- oa.splice(1, 1, 10);
最后一个似乎有效,但我担心这.splice()可能效率低下,因为它必须关注转移所有后续值。我宁愿只做简单的基于索引的分配。
我创建了一个显示 observableArray 很奇怪的 jsfiddle。
<ol data-bind="foreach: list">
    <li data-bind="text: $data"></li>
</ol>
<script>
    var model = {
        list: ko.observableArray([3, 5, 7])
    };
    ko.applyBindings(model);
    setTimeout(function() {
        model.list()[1] = 55;
        model.list.push(99);
        model.list()[2] = 77;
    }, 2000);
</script>