请看一下这个例子。http://jsfiddle.net/LdeWK/2/ http://jsfiddle.net/LdeWK/2/
我想知道如何绑定可观察数组的值。我知道上面例子中的问题,就是这一行
<p>Editing Fruit: <input data-bind="value: $data" /></p>
$data 是实际值,而不是您通常绑定的可观察函数。
这看起来应该是一个非常简单的过程,但我无法弄清楚。
在其他情况下,我使用了可观察数组,并有一个可观察对象作为可观察数组的每个元素。我想知道如何让它仅与可观察数组一起使用。
Thanks
如果您将读/写绑定到数组或 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/ http://jsfiddle.net/rniemeyer/LdeWK/3/
单个水果不一定需要可观察,除非您需要 UI 对值变化做出反应(您的示例确实需要做出反应,因为您正在显示水果的只读列表)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)