私は、とりわけ、ユーザーが入力した特定の値の現在の合計を保持して、それらが合計で100%になるようにする半複雑なUIを持っています。各データ項目自体は他のすべてのデータ項目を認識しないため、実際のデータ項目自体ではなく、メインモデルで計算されたオブザーバブルを使用してこの計算を処理します。
ユーザーが(ajax呼び出しを介して)リストをフィルター処理した場合でも、リストを1つのアイテムに置き換えても、現在欠落しているすべてのアイテムに関連して計算されたオブザーバブルがぶら下がっているように見えることに気付きました。関数を使用して、「動的」オブザーバブルを生成します。
メインの「テーブル」でko.cleanNodeを使用しようとしましたが、まったく更新できませんでした。このシナリオで計算されたオブザーバブルを処理する適切な方法は何ですか?
景色:
<span class="remainderText" data-bind="text:$root.getFieldTotal($data,'Customer')"></span>
モデル:
self.getFieldTotal = function (record, field) {
return ko.computed(function () {
.. some code here ...
});
}
foreachを駆動するアイテム配列を置き換えようとすると、計算されたobservableは、すべての古いアイテムがまだぶら下がっているように起動します。