在AngularJS中声明控制器

时间:2013-07-30 17:50:32

标签: javascript function angularjs

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

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

和其他人这样做了:

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

哪种方式是在JS文件中声明控制器的最佳方式,哪种方式最适合使用最新版本的AngularJS(现在为1.0.7),哪种方法最佳?或者这不重要吗?

3 个答案:

答案 0 :(得分:22)

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

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

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

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

答案 1 :(得分:0)

myApp.controller('myControl',['$scope',function($scope){
    $scope.controlname = "Something";
}]);

答案 2 :(得分:0)

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

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

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