我在Javascript中创建了一个树结构,不幸的是,它包含循环引用。 (对象具有一系列子项,但子项需要引用父项以进行删除。)
由于树形结构,我使用角度深度表来检测树的任何变化。 (这可以避免观察树的每个节点。)但是,循环引用会导致Angular $ watch构造出现问题。由于我的申请有一些设计要求,我没有找到处理父母/子女问题的方法而没有引用父母。
我考虑过的一件事是将链接存储到父级作为原型。我的问题 - Angular deep $ watch会查看自定义对象的原型成员吗?这个地方有设置吗?
感谢。
答案 0 :(得分:0)
另一种可能的解决方案:角度深度对象比较忽略以$。开头的函数和字段。
http://docs.angularjs.org/api/angular.equals
所以很明显,角度使用$来存储自己的元数据,但你应该对obj。$ my_parent这样的东西很好。或者您可以使用函数分配所有内容... obj.parent = function(){return other_obj; }