如何在AngularJS中声明控制器



我在采访中有一个问题。

"以下哪个代码片段更有效?"

AppModule.controller('homeController', ['$scope', 'dep1', 'dep2', function($scope, dep1, dep2) {
...
    $scope.aMethod = function() {
       ...
    }
...
}]);
AppModule.controller('homeController', function($scope, dep1, dep2) {
...
    $scope.aMethod = function() {
        ...
    }
...
});

•两者都同样有效。

•第二个代码更有效,因为它包含更少的代码。

•第一个代码更有效,因为它具有依赖项的名称。

•第二个代码更有效,因为它不包含其他数组。

我认为第三个答案是正确的,但不确定我是对的。

请帮助我。

第一个在应用了一些uglification/minification后将按预期工作,而第二个则无法正常工作,因为变量名称在此过程中会更改,而AngularJS将无法知道要注入什么,因为变量名称更改。

第三是正确的,因为当您通过使用任何任务跑步者uglification/uglification uglification/juinification时,Angular就无法知道依赖关系。所以第三个更好。

最新更新