0

残念ながら、循環参照を含むツリー構造を Javascript で作成しました。(オブジェクトには子の配列がありますが、子は削除のために親への参照が必要です。)

ツリー構造のため、角度のあるディープ ウォッチを使用してツリーへの変更を検出しています。(これにより、ツリーのすべてのノードを監視する必要がなくなります。)ただし、循環参照は Angular の $watch 構造に問題を引き起こします。アプリケーションの設計要件により、親への参照なしで親/子の問題に対処する方法がわかりません。

私が考えたことの 1 つは、親へのリンクをプロトタイプとして保存することです。私の質問 - Angular の深い $watch は、カスタム オブジェクトのプロトタイプ メンバーを調べますか? どこかにこれの設定はありますか?

ありがとう。

4

1 に答える 1

0

考えられる別の解決策: angular ディープ オブジェクト比較は、$ で始まる関数とフィールドを無視します。

http://docs.angularjs.org/api/angular.equals

したがって、angular は $ を使用して独自のメタデータを格納することは明らかですが、obj.$my_parent のようなものを使用する必要があります。または、関数ですべてを割り当てることもできます... obj.parent = function () { return other_obj; }

于 2013-06-27T16:47:48.643 に答える