2011-09-08 1 views
2

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

これをより効率的にするためにAngularJSに何かが組み込まれているのだろうかと思っていました。

答えて

1

あなたは(つまり$腕時計の点に注意してください。代わりに、文字列/式の引数としての機能を取ることができ、およびバージョン> = 0.10.0で見た値がangular.Object.equalsを使用して比較している代わりに、単一の$onEvalの複数$watch」ESを使用することができます)。それ以外に、私はこれに有用なAngularJSの仕組みを知らない。

1

私は似たようなことに取り組んでいます。 @ psyhoのように、私は$watchを使って変更をキャッチしています。

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

次に、変更内容を計算するためにjquery diffのロジックを使用します。