一个子模块中需要角度ui-router依赖,但不是全部?

时间:2015-05-20 21:29:24

标签: angularjs angular-ui-router

在下面的插件中,任何人都可以解释为什么我必须注射“ui.router”。进入第一个列出的子模块,但不是任何后续的子模块?

http://plnkr.co/edit/nCBeMAKrxvL9CHvLzRdL?p=preview

我认为在执行此操作后,每个子模块都可以使用ui.router依赖项: angular.module('myapp', ["myapp.route1", "myapp.route2", "ui.router"])

相反,我必须在第一个列出的依赖项中包含ui.router(在本例中为myapp.route): angular.module('myapp.route1', ["ui.router"])

但不在myapp.route2中: angular.module('myapp.route2', [])

我错过了什么?

1 个答案:

答案 0 :(得分:1)

加载顺序取决于声明的依赖项的顺序,所以

angular.module('myapp', ["myapp.route1", "myapp.route2", "ui.router"])

表示首先加载"myapp.route1"(在配置阶段 - 这不适用于运行阶段),并且还加载"ui.router"。因此,当"myapp.route2"加载时,"ui.router"服务已加载。

更改声明的依赖项的顺序会破坏这一点。

所以,显然,你不应该依赖于此。 每个模块都应声明自己的依赖关系。