在迭代数组期间将值绑定到数组

时间:2012-10-24 09:44:18

标签: knockout.js knockout-2.0

我的viewmodel有两个数组(简化版)

array_a = ko.observableArray(["a", "b", "c"]);
array_b = ko.observableArray(["Foo", "Bar", "Bash"]);

我想迭代一个,同时绑定到另一个的值,所以我有这个

<ul data-bind="foreach: array_a">
<li><input data-bind="value: array_b()[$index()]" type="text"></li>
</ul

这显示了值,但是当输入文本被更改时似乎没有更新它?

1 个答案:

答案 0 :(得分:3)

如果你想在array_b中拥有可更新的值,你需要将值包装到observables中(因为如果绑定源不是ko.observable,则ko绑定是一种方式)。

所以这应该有效:

array_b: ko.observableArray([ko.observable("Foo"), 
                             ko.observable("Bar"), 
                             ko.observable("Bash")])

这个JsFiddle中的行动。