AngularJSが1ドルをトリガーしたとき、このスコープのどの値が変更されたかをすぐに伝える方法はありますか?

StackOverflow https://stackoverflow.com/questions/7354870

  •  28-10-2019
  •  | 
  •  

質問

サーバーの変更を自動的に同期したいと思います。現在、aの変更を検出しています scope.$onEval JSONによるハンドラーは、アプリケーション状態をシリアル化し、それを以前にシリアル化されたコピーと比較して、diff-match-patchを使用します。

Angularjsがこれをより効率的にするために何かを構築しているかどうか疑問に思っていました。

役に立ちましたか?

解決

複数を使用できます $監視シングルの代わりに 'es $onEval ($ watchは文字列/式ではなく引数として関数を取ることができることに注意してください。バージョン> = 0.10.0では、監視された値は使用して比較されます。 angular.object.equals)。それ以外は、これに役立つAngularJSメカニズムを知りません。

他のヒント

私は似たようなことに取り組んでいます。 @psyhoが私が使用していることを提案したように $監視 変更をキャッチする。

scope.$watch("dataObject",function (newValue, oldValue) {
    //calculate changes
    //send the changes to the server
});

次に、ロジックを使用します jquery diff どのような変更が行われたかを計算します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top