调用angularjs配置块时,在某些示例中,我看到的代码如下: -
app.config(['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider) {
....
}
在其他样本中我看到: -
app.config(function($stateProvider, $urlRouterProvider) {
....
}
有什么区别?
答案 0 :(得分:1)
第一个包括"注释"为了缩小。
来自Angularjs doc(关于缩小的注释)
由于Angular将控制器的依赖关系从参数名称推断到控制器的构造函数,如果你要缩小PhoneListCtrl控制器的JavaScript代码,它的所有函数参数都会被缩小。 ,依赖注入器将无法正确识别服务。
我们可以通过使用依赖项的名称来注释函数来克服这个问题,这些依赖项的名称是字符串,不会被缩小。有两种方法可以提供这些注射注释。
因此,如果你想缩小代码,你必须使用第一种语法。
答案 1 :(得分:1)
在第一种方法中,前2是功能中的提供者的别名,您可以使用微粒提供者的别名,这种方法用于缩小过程。
app.config(['sateP', 'urlRouterP', function($stateProvider, $urlRouterProvider) {
....
// you can use stateP
}
但是在第二个你不能为你的提供者声明别名,你需要按原样使用。