这是区别,注入依赖?

时间:2016-08-16 16:41:45

标签: javascript angularjs optimization

您好我想知道这种语法之间的差异

app.controller('demoCtrl', ['$scope', '$resource', function($scope, $resource) {
  //code
}])

这个语法

app.controller('demoCtrl', function($scope, $resource) {
  //code
})

哪一个更好?

1 个答案:

答案 0 :(得分:1)

第一种语法称为“内联数组表示法”,用于声明依赖项,以便在代码缩小期间正确地注入依赖项。在代码缩小期间,function($scope, $resource)可能会变成function(a, b),如果您使用第二种语法(隐式注释),则注入器将无法找到依赖项,因为它将搜索ab,而不是$scope$resource。但是,如果您使用第一个语法并且代码被缩小,则注入器将能够找到并注入依赖项而没有任何问题。

有关详细信息,请参阅https://docs.angularjs.org/guide/di#dependency-annotation