我有一个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 question,RP Niemeyer建议将observable包装在一个对象中。这是我目前的解决方案,但我不喜欢冗余地包装observable,而是宁愿直接绑定它。
答案 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/