2012-12-18 105 views
1

在Backbone.js文档中说,当你遇到循环引用时,你应该重新设计你的应用程序。我几个月来一直在想这个问题(并且在努力解决它),但它一直在追我。请看看我的结构,并告诉我你将如何设计这个。Backbone.js中的循环引用由于继承吗?

这很简单,我有团队,我有人。组有人(成员)。一个群体可以与群体有关系(例如:一个组织有部门),人们可以与人(同事,经理等)有联系。

如果我为团队和人员(例如:组织,部门,同事,经理等)制作所有不同的模型,那么不存在任何问题。但是当我使用继承(org扩展组,dep扩展组,同事扩展人等)时,循环参考将会引入。

如何解决这个问题?经常听到的答案是:使用主干关系。这可能是很棒的软件,但我想了解它是如何工作的(不仅仅是让它工作),因此我想自己做。

+4

请更清楚地定义您的问题。我从来没有听说过Backbone中有关循环引用的任何问题,也没有以任何方式提及文档。循环引用是什么意思?会发生什么?示例代码也是有帮助的。 – jevakallio

+1

我在requirejs中使用主干时遇到了循环依赖关系,我不确定这是否是您的设置? – FruitBreak

+0

@MarcP这正是我的设置,代码在我头上飞快旋转,我无法思考。看到我的下面。 – GijsjanB

回答

1

循环引用问题是(duh)RequireJS而不是Backbone。

我一直在遇到这个问题。 RequireJS网站表示,如果您遇到循环引用,那么您的设计不正常。

我重新设计了。我现在使用两种不同的模型:完整的(有关系),扩展最小的一个(没有关系)。最小的一个用在集合中,所以循环引用不会发生。

这是我迄今为止的解决方案。任何更好的想法? :)