我有一個包含類似下面的人可觀察一個observableArray fieldChoices
:{ name: ko.observable('new choice') }
可觀察通知家長ObservableArray
我想要得到的觀測量,通知其必須通知另一計算的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()
並從那裏通知。問題在於,更改值時綁定不會更新。
我該如何得到這個工作?
編輯:即使有類似的問題,我試圖用自定義綁定來解決這個問題。我無法爲這種方法找到任何解決方案。
我的主要目標是當observable的值發生變化時,讓'calculate'重新評估。我認爲有一種方法可以在定製綁定中的值發生更改時從訂閱中獲取訂閱,並從那裏強制「計算」進行重新評估。但我會用擴展因子去解決它,因爲我應該解決它。 – razvanz
@razvan所有你需要做的只是在計算機上創建一個write:函數並從該擴展器寫入它...... –