您知道是否可以在对方内部使用角度服务?我尝试了但是得到了错误"发现循环依赖"。例如,我有两个服务A和B.我可以在服务A内使用服务A,在服务A中使用服务B吗?
答案 0 :(得分:0)
不,您不能使用基本的angularjs依赖注入器,但您可以使用$ injector
检索任何服务https://docs.angularjs.org/api/auto/service/$injector
所以可以“懒”将它加载到任何var,并在其他服务中访问它....但你应该发布一些代码。
也有点像你反模式的东西,或者当你有循环依赖时你有糟糕的架构。就像在路上一样:
假设您有2项服务
Foo Depends on Bar
Bar depends on Foo
Angular会像这样
Foo - >取决于酒吧所以加载Bar - >实例化Bar但它依赖于Foo,因此实例化Foo - >实例化Foo,但它取决于Bar但等待! Bar仍未实例化,因为它等待Foo,因此它是循环的。
你应该有服务
Foo with no dependency
Bar with no dependency
和第三家工厂
FooBar which will handle functions which needs the circular dependency.