これは、角度のあるアプリで非常に一般的なユースケースになると思います。いくつかのダイジェスト サイクルの一部として変更されたスコープ上のいくつかのオブジェクトを見ているだけです。それらの消化 (データバインディングによる値の変更) が完了したら、それらをデータベースに保存したいと思います。
A.現在、現在のソリューションでは、次の問題が発生しています。
$timeout() での保存の実行 - 保存が一度だけ呼び出されることを保証する方法
$scope.$evalAsync でカスタム関数を実行する - 何が変更されたかを調べる方法
もちろん、これらの問題の両方に対する解決策はありますが、私が知っているものはどれも私には十分にエレガントに見えません.
問題は次のとおりです。問題に対する最も洗練された解決策は何ですか?
B. 特に、ベストプラクティスは何ですか?
save がダイジェスト サイクルで 1 回だけ呼び出されるようにする
最後のダイジェスト後にオブジェクトがダーティであることを確認する