我有一个主模块,可以加载ngRoute
服务。
angular.module("app", ["ngRoute", "app.settings"]
我的app.settings
模块未加载ngRoute
服务,
angular.module("app.settings", [])
.config(["$routeProvider", function($routeProvider){
$routeProvider.when("/settings", {
template: "{{message}}",
controller:"SettingsController"
});
}])
但我可以在此模块中使用$routeProvider
。
角度模块加载顺序无关紧要吗?我可以加载任何依赖模块吗?
答案 0 :(得分:2)
问题是你的app
模块正在加载ngRoute
,并且还在加载你的app.settings
模块,因此依赖关系已经注入你的Angular应用程序,所以没有需要再次注射。
角度模块加载顺序无关紧要吗? 顺序无关紧要Angular首先解析依赖关系,然后编译模块,控制器等。
angular.module("app", ["ngRoute", "app.settings"]
与
相同angular.module("app", ["app.settings", "ngRoute"]
但是,如果只加载模块app.settings
,则在某些单元测试方案中可能会遇到麻烦,您的测试将失败。但在大多数情况下,您将加载app
模块和Angular应用程序的所有主要模块。
我可以加载任何依赖模块吗?简短回答,是的。
答案很长:你的ngRoute
依赖项应该加载到主模块中,因为你的app
模块需要它来定义基本路由,如果依赖项加载在几个模块中不会抛出任何错误,事实上你应该添加每个模块所需的所有依赖项,因为在大型应用程序中不能保证ngRoute
/ {{1} } / etc已经加载。
更新以提高可读性