2016-11-22 8 views
0

どのオブジェクトの状態に対しても変更トラッキングを実装する必要があります。 どうすれば実装できますか?例えばTypescriptでカスタムオブジェクトの変更トラッキング

let complexObject = { 
    /// ... mant many arrays and propertiess 
} 

let hash = convertToHash(complexObject) 

let trackingArray = [] 

trackingArray.push(hash); 

/// what from here and how to imlement it? 
+0

この質問はやや曖昧です。変更トラッキングとはどういう意味ですか?あなたが達成しようとしている最終目標は何ですか? –

答えて

0

私はあなたが何かを変更したとき、あなたは新しいオブジェクトを取得しますhttps://facebook.github.io/immutable-js/を使用することをお勧めします。オブジェクトグラフ全体を反復する必要がないため、ハッシュを作成するよりもはるかに効率的です。

また、内部的にいくつかのメモリを共有しているため、完全なクローンをメモリに保存するより効率的です。

0

元に戻す/やり直しの目的で変更追跡を実装していると仮定します。

1つの方法は、不変オブジェクトを使用し、アクションが呼び出されるたびに古いオブジェクトをスタックに格納することです。

オブジェクトへの変更をキャプチャするには、https://en.wikipedia.org/wiki/Command_patternまたはredux(反応で広く普及している、implementation for angular)を使用できます。

関連する問題