3

計算されたオブザーバブルが地獄から通知チェーンを作成しているという問題があります(Ordon ^ 2)。

私がしなければならないのはこれです

Disable computed observable
Do stuff
Enable observable and notify subscribers (View)

これを見つけましたが、1年以上前のものです。

http://www.knockmeout.net/2011/04/pausing-notifications-in-knockoutjs.html

私は今までにこれに対するいくつかの組み込みソリューションがあることを望んでいましたか?

編集:問題を示すフィドル。http://jsfiddle.net/8mxBA/

実際のサイトのコードにかなり近いです。一番上のチェックボックスですべてのアイテムを選択してみてください。計算されたcanSaveに対して2回の呼び出しのみを実行し、チェックを外そうとすると、計算されたcanSaveに対してn回の呼び出しが実行され、canSaveメソッドが繰り返し実行されます。コレクション全体が遅くなる可能性があります。

4

2 に答える 2

1

スロットルオプションを試してください(「エクステンダーではありません」)。

comp = ko.computed(function () {
    return stuff;
}, this, {throttle: 1});

スロットルエクステンダーは、計算されたものを追加の計算されたものにラップするため、効率が悪いと思います。

于 2013-07-09T11:43:46.330 に答える