首页 文章

在arrayA的迭代期间将值绑定到arrayB

提问于
浏览
2

我的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 回答

  • 3

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

    所以这应该工作:

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

    在这个JsFiddle中行动 .

相关问题