AngularJS控制器语法 - 数组和函数版本之间的区别

时间:2013-11-06 04:24:44

标签: javascript angularjs angularjs-controller

我是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){

});

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

1 个答案:

答案 0 :(得分: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){

});