在AngularJS中定义控制器

时间:2015-09-01 11:56:42

标签: javascript angularjs controller

以下是 Angularjs 中控制器的两种不同实现。在第一种类型中,作者将控制器函数包装在方括号内,并在函数之前定义了两个参数,并将它们传递给函数(如数组)。

 myapp.controller('axajCtrl',['$http','$scope',function($http,$scope){
    $http.get('extras/data.json').success(function(response){ //make a get request to mock json file.
        $scope.data = response; //Assign data received to $scope.data
    })
    .error(function(err){
        //handle error
    })
}])

在控制器名称之后的第二种类型中,有一个实现控制器功能的功能。

myapp.controller('axajCtrl',function($http,$scope){
    $http.get('extras/data.json').success(function(response){ //make a get request to mock json file.
        $scope.data = response; //Assign data received to $scope.data
    })
    .error(function(err){
        //handle error
    })
});

我对第一种类型的实现感到困惑。为什么函数定义为数组。第一个实现是否比第二个实现有任何优势?

1 个答案:

答案 0 :(得分:0)

在本地开发和编译JS文件时,方括号是可选的...

在生产环境中,我会说它们是必要的,因为一些缩小器和uglifiers重命名()内部的值,这将搞砸所有注入和依赖关系..方块不会被重命名。