我有两个对象,一个是房子,一个是租户,这两个对象都是用工厂方法描述和构造的。出于应用程序的目的,每个租户可以拥有多个房屋,每个房屋可以有多个租户。因此,每个对象都需要保留另一个对象的数组,并且能够在另一个对象上执行函数。例如,当用户查看他/她的概述时,他可以看到他/她的所有房屋的图标,以点击该图标以进入该特定房屋的“房屋页面”。在“房屋页面”中,房屋必须知道谁是租户,以便所有租户可以分摊账单,并将家务活分配给租户。
我的问题是,在创建工厂方法时,我遇到了循环依赖注入,而Angular JS似乎不喜欢这样。我似乎想不出一个解决办法。有什么建议吗?
发布于 2014-09-09 01:17:28
这是一个常见的问题,它会通知您需要第三个服务。您应该将共享逻辑分解到第三个服务中,以便它们都需要第三个服务,而不是彼此需要。
Angular的作者Misko Hevery写了an article about this problem。
总而言之,他解释说:
两个对象之一是隐藏另一个对象C。A包含C或B包含C。要找出是哪一个,请列出类A使用的类A中的所有方法,以及类A使用的类B中的所有方法。两个列表中较短的一个是隐藏的类C。
https://stackoverflow.com/questions/25729610
复制相似问题