ダイジェストの発生を延期または遅延させる方法はありますか?
モデルに加えたい変更がたくさんありますが、モデルにすべての変更が加えられるまでダイジェストを起動したくありません。モデル上の一部のオブジェクトには、モデル上の他のオブジェクトを更新して変更するウォッチャーがあります。
理想的にはしたい
$ digestはすべてのダーティオブジェクトを見つけて、ウォッチャーを起動します。
これに対する別の解決策は、$ digestを停止する代わりに、
ウォッチャーを追加したら、ウォッチャーメソッドを実行して、モデルが正しい状態にあることを確認する必要があります。
2番目のオプションはハックのように思えます。
アイデア??
これはハックではありません。データセットが大きいと、ユーザーがテキストをすばやく入力したり、バックスペースを押したままにしたりすると、$ digestサイクルの実行が非常に遅くなる可能性があるためです。 $watch
関数と$filter
関数に注意するように、間違いなく パフォーマンスの微調整 を実行できますが、-を使用して$digest
サイクルを遅らせる方がよい場合もあります。 デバウンス関数 。