绑定一个observableArray of Observables

时间:2013-05-13 12:46:09

标签: knockout.js

我有一个observableArray填充了observables,我想绑定输入字段like in this fiddle

<ul data-bind="foreach: elements">
    <li>
        <input type="text" data-bind="value: $data"/>
    </li>
</ul>

但是,数组中的observable正在解包,因此当时的observable值与输入的值绑定,而不是observable本身。

是否可以绑定observable本身,而不是绑定值?

In a different questionRP Niemeyer建议将observable包装在一个对象中。这是我目前的解决方案,但我不喜欢冗余地包装observable,而是宁愿直接绑定它。

1 个答案:

答案 0 :(得分:2)

在你的情况下没有间接的方法。但是,如果你愿意,你可以使用$ parent.elements()[$ index()]来做到这一点。

<input type="text" data-bind="value: $parent.elements()[$index()], click: function() { console.log($data); }"/>

这是你的更新小提琴。 http://jsfiddle.net/sujesharukil/qRXua/1/