rec*_*ive 3 ko.observablearray knockout.js
我一直在查看淘汰赛的文档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>
Run Code Online (Sandbox Code Playgroud)
修改后在您的observable上应用valueHasMutated属性
setTimeout(function() {
model.list()[1] = 55;
model.list.push(99);
model.list()[2] = 77;
model.list.valueHasMutated();
}, 2000);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4814 次 |
| 最近记录: |