1

私は2種類のコントローラ定義を見てきました:

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

そして簡単です:

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

違いは何ですか?どちらが好ましいですか?

4

1 に答える 1

2

違いは、最初がモジュール内のコントローラーであることです。2 番目のメソッドは、グローバル ( Window オブジェクトの ! ) のコントローラーです。

すでに聞いたことがあると思いますが、グローバル オブジェクトを汚染することは悪い考えです。したがって、2 番目の方法は推奨されません (ただし、機能を簡単に披露するための迅速なプロトタイピングに使用され、入力も簡単です。したがって、この方法はほとんどすべての例で使用されます)。

最初の方法、つまり

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

は推奨される方法であり、すべての本番アプリケーションで使用する必要があります。

于 2013-01-02T10:42:14.670 に答える