2

我有一个 observableArray,里面装满了我想绑定到输入字段的 observables,就像在这个小提琴中一样:

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

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

是否可以绑定可观察对象本身,而不是绑定值?

在另一个问题中,RP Niemeyer建议将 observable 包装在一个对象中。这是我目前的解决方案,但我不喜欢多余地包装可观察对象,而宁愿直接绑定它。

4

1 回答 1

2

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

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

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

于 2013-05-13T12:54:35.587 回答