javascript – Knockout JS – 如何正确绑定observableArray

前端之家收集整理的这篇文章主要介绍了javascript – Knockout JS – 如何正确绑定observableArray前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
请看这个例子.
http://jsfiddle.net/LdeWK/2/

我想知道如何绑定可观察数组的值.我知道上面的例子中的问题,就是这一行

<p>Editing Fruit: <input data-bind="value: $data" /></p>

$data是实际值,而不是通常绑定的observable函数.
这似乎应该是一个非常简单的过程,但我不能弄清楚.

在其他情况下,我使用了observable数组,并将observable对象作为observable数组的每个元素.我想知道如何让这个工作与可观察的数组.

谢谢

解决方法

如果您对数组或observableArray中的项目进行读/写操作,那么它们将需要是对象的属性.否则,$data将是未解释的可观察者,KO无法写入实际的可观察值.

你必须做一些像:

var viewmodel = function(myFruit) {
    var observableFruit = ko.utils.arrayMap(myFruit,function(fruit) {
        return { name: ko.observable(fruit) }; 
    });
    this.fruit = ko.observableArray(observableFruit);
};


ko.applyBindings(new viewmodel( ["Apple","banana","orange"] ));

这里有一个例子:http://jsfiddle.net/rniemeyer/LdeWK/3/

个别的水果不一定需要被观察到,除非你需要你的UI来对变化的值做出反应(你的样本需要做出反应,因为你显示了一个只读的水果列表).

猜你在找的JavaScript相关文章