1

我见过两种类型的控制器定义:

angular.module('myApp.controllers',[])
  .controller('MainCtrl', ['$scope'], function($scope){
   //controller code
}

还有一个简单的:

function MainCtrl($scope) {
  //controller code
}

有什么不同?哪一个是首选?

4

1 回答 1

2

不同的是,第一个是模块内部的控制器。第二种方法是全局上的控制器(在 Window 对象上!)。

就像您已经听说过的那样,污染全局对象是个坏主意。因此,第二种方法不是首选(但用于快速原型制作以轻松展示功能并且更易于键入。因此几乎所有示例都使用这种方法。)

第一种方式,即

angular.module('myApp.controllers',[])
  .controller('MainCtrl', ['$scope'], function($scope){
   //controller code
}

是首选方式,应该在所有生产应用程序中使用。

于 2013-01-02T10:42:14.670 回答