在下面的插件中,任何人都可以解释为什么我必须注射“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', [])
我错过了什么?
答案 0 :(得分:1)
加载顺序取决于声明的依赖项的顺序,所以
angular.module('myapp', ["myapp.route1", "myapp.route2", "ui.router"])
表示首先加载"myapp.route1"
(在配置阶段 - 这不适用于运行阶段),并且还加载"ui.router"
。因此,当"myapp.route2"
加载时,"ui.router"
服务已加载。
更改声明的依赖项的顺序会破坏这一点。
所以,显然,你不应该依赖于此。 每个模块都应声明自己的依赖关系。