2012-04-28 15 views
5

コンボボックス(選択)要素のさまざまな属性にいくつかの選択肢を提供することで、アイテムのリストをフィルタリングする小さなアプリケーションがあります。 すべてがうまく動作し、単一のコンボボックス要素の選択を解除しますが、すべてのコンボボックス要素をnullにリセットする「リセットフィルタ設定」に必要なボタンを導入して以来、パフォーマンスが低下します。 comboxboxを変更する1つのステートメントが完全なリストの更新を引き起こしているようです。knockout.jsでいくつかの変更を「単位」としてトリガーする方法

どのようにしてノックアウトにSTOPを実行して観測値を更新し、すべてのコンボボックスの要素をnullにリセットしてから、ノーマットにRESUMEに更新を知らせたり、最初に自分自身で更新をトリガするように指示できます。

アイデア?

おかげ アンドレアス

+4

「スロットル」エクステンダーを見てみましょう:私にとっては、この問題を修正私の計算された宣言に.extend({ throttle: 10 })を追加

http://knockoutjs.com/documentation/throttle-extender.html – Niko

答えて

4

は臆面もなくニコさんのコメントに拡大し、あなたがthrottle extenderを使用する必要があります参照してください。

// get only selected markets 
self.SelectedMarkets = ko.computed(function() { 
    return ko.utils.arrayFilter(self.Markets(), function(market) { 
     return market.IsSelected() == 1; }); 
}).extend({ throttle: 10 }); 
関連する問題