调用angularjs配置块

时间:2015-08-28 12:23:25

标签: angularjs config

调用angularjs配置块时,在某些示例中,我看到的代码如下: -

app.config(['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider) {
    ....
}

在其他样本中我看到: -

app.config(function($stateProvider, $urlRouterProvider) {
    ....
}

有什么区别?

2 个答案:

答案 0 :(得分:1)

第一个包括"注释"为了缩小。

来自Angularjs doc(关于缩小的注释)

  

由于Angular将控制器的依赖关系从参数名称推断到控制器的构造函数,如果你要缩小PhoneListCtrl控制器的JavaScript代码,它的所有函数参数都会被缩小。 ,依赖注入器将无法正确识别服务。

     

我们可以通过使用依赖项的名称来注释函数来克服这个问题,这些依赖项的名称是字符串,不会被缩小。有两种方法可以提供这些注射注释。

因此,如果你想缩小代码,你必须使用第一种语法。

答案 1 :(得分:1)

在第一种方法中,前2是功能中的提供者的别名,您可以使用微粒提供者的别名,这种方法用于缩小过程。

app.config(['sateP', 'urlRouterP', function($stateProvider, $urlRouterProvider) {
    ....
   // you can use stateP
}

但是在第二个你不能为你的提供者声明别名,你需要按原样使用。