11

我在 AngularJS 教程中看到,有些人像这样声明他们的控制器功能:

function FirstController($scrope) {
    // do something with $scope
}

和其他人这样做:

var FirstController = function ($scope) {
    // do something with scope
}

哪种方式是在 JS 文件中声明控制器的最佳方式,最适合最新版本的 AngularJS(现在是 1.0.7),最佳实践是什么?还是真的不重要?

4

3 回答 3

22

您应该遵循他们提供的第二个示例,它使用字符串来标识您的控制器,而不是潜在的全局函数。使用 Array 语法,这样您就可以缩小代码,而不必担心缩小器重命名函数参数。

var myApp = angular.module('myApp');

myApp.controller('GreetingCtrl', ['$scope', function($scope) {
    $scope.greeting = 'Hola!';
}]);

来源:http ://docs.angularjs.org/guide/controller

于 2013-07-30T17:55:00.663 回答
1
myApp.controller('myControl',['$scope',function($scope){
    $scope.controlname = "Something";
}]);
于 2015-11-28T08:45:15.390 回答
1

声明控制器的推荐方法是使用数组表示法:

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

根据 angularJS 网站:https ://docs.angularjs.org/guide/di

于 2016-07-02T08:49:36.337 回答