【发布时间】:2013-11-02 03:23:04
【问题描述】:
我有一个 observableArray fieldChoices,其中包含类似以下的 observable:{ name: ko.observable('new choice') }
我想让 Observables 通知 ObservableArray,后者必须通知另一个计算对象。
我像这样绑定它们:
<div data-bind="foreach: $parent.fieldChoices">
<div>
<i class="icon-caret-right"></i>
<input type="text" class="span8" data-bind="value: name(), test: name()" />
<i class="icon-arrow-up" data-bind="click: $parentContext.$parent.shiftChoiceUp, visible: $index() !== 0"></i>
<i class="icon-arrow-down" data-bind="click: $parentContext.$parent.shiftChoiceDown, visible: $index() !== ($parentContext.$parent.fieldChoices().length - 1)"></i>
<i class="icon-remove" data-bind="click: $parentContext.$parent.removeChoice, visible: $parentContext.$parent.fieldChoices().length > 2"></i>
</div>
</div>
当name 值发生变化时,我无法让可观察对象通知可观察数组。我尝试添加自定义绑定test: name() 并从那里通知。问题是值改变时绑定没有更新。
我怎样才能让它工作?
编辑:即使有类似的问题,我也试图通过自定义绑定来解决这个问题。我无法为这种方法找到任何解决方案。
【问题讨论】:
标签: knockout.js