9

我是 AngularJS 的新手。使用数组参数声明的控制器之间有什么区别,将依赖项列为字符串和 JavaScript 名称,

app.controller("firstController", ['$scope', '$modal', '$log', 'HttpService', 'FisrtSharedService', 'SecondSharedService', function($scope, $modal, $log, HttpService, FisrtSharedService, SecondSharedService) {

}]);

...这个表格,只列出 JavaScript 名称?

app.controller("firstController", function($scope, $modal, $log, HttpService, FisrtSharedService, SecondSharedService){

});

为什么第一个版本中有奇怪的语法?

4

1 回答 1

12

它在您缩小 JS 文件时使用。'$scope', '$modal', '$log', 'HttpService', 'FisrtSharedService', 'SecondSharedService'只是声明注入器。

app.controller("firstController", ['$scope', '$modal', '$log', 'HttpService',    'FisrtSharedService', 'SecondSharedService', function($scope, $modal, $log, HttpService, FisrtSharedService, SecondSharedService) {

}]);

您还可以像这样声明注入器:

firstController.$inject = ['$scope', '$modal', '$log', 'HttpService',    'FisrtSharedService', 'SecondSharedService'];
app.controller("firstController", function($scope, $modal, $log, HttpService,  FisrtSharedService, SecondSharedService){

});
于 2013-11-06T04:30:48.317 回答