我的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
这显示了值,但是当输入文本被更改时似乎没有更新它?
答案 0 :(得分:3)
如果你想在array_b
中拥有可更新的值,你需要将值包装到observables中(因为如果绑定源不是ko.observable
,则ko绑定是一种方式)。
所以这应该有效:
array_b: ko.observableArray([ko.observable("Foo"),
ko.observable("Bar"),
ko.observable("Bash")])
这个JsFiddle
中的行动。