我一直在查看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>