2013-06-27 24 views
0

我在Javascript中創建了一個樹形結構,不幸的是,它包含循環引用。 (對象有一組子對象,但孩子需要參考父對象進行刪除操作。)

由於樹結構,我使用角度深度監視來檢測對樹的任何更改。 (這可以避免觀察樹的每個節點。)但是,循環引用會導致Angular $ watch構造出現問題。由於我的應用程序的一些設計要求,我沒有找到一種方法來處理父母/孩子問題,而沒有提及父母。

我考慮過的一件事是將鏈接存儲到父級作爲原型。我的問題 - Angular deep $ watch是否會查看自定義對象的原型成員?有沒有一個設置這個地方?

謝謝。

回答

0

另一種可能的解決方案:角深對象比較忽略以$開頭的函數和字段。

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

所以很明顯的角度使用$來存儲自己的元數據,但你應該是好東西像OBJ。$ my_parent。或者,你可以只分配一個函數... obj.parent = function(){return other_obj; }

+0

由於各種原因,使用'$'並沒有像我希望的那樣工作,但是使用一個函數。我不得不硬着頭皮創建一個類,而不是使用常規對象,這正是我需要做的事情......我只是希望在預計稍後重構時能夠快速解決問題。 –

相關問題