5

コントローラーの宣言に関する確立された規則はありますか? (または任意の形式のモジュール レベルの構成)。

私は、使用されている 2 つの異なるアプローチを観察しました。

var shoppingCartModule = angular.module('ShoppingCart',[])
shoppingCartModule.controller('CheckoutCtrl', function($scope) { ... });

angular.module('ShoppingCart').controller('CheckoutCtrl', function($scope) { ... });

2 つのアプローチの間に利点はありますか? また、好ましい(または新たな)慣習はありますか?

私は特に、コントローラーとモジュールの宣言が多くのファイルにまたがる可能性がある、多くのモジュールを持つ重要なアプリのメリットに関心があります。

4

2 に答える 2

6

個人的に私は次のことを行います(理由は後で):

angular.module('myApp', []);

angular.module('myApp').controller('myController', ['$dependency', 'anotherDependency',      
  function($dependency, anotherDependency) {
    ...
  }
]);

理由:

  • 私はグローバルスコープを避けようとします
  • 同等の文字列を使用して依存関係を冗長に宣言すると、コードを安全に縮小できます
  • 一貫性があり、クリーンで、ストーリー全体がそこにあります。例えば。`angular.module('myApp').something' を使用すると、それが何であるかは明らかですapp.somethingapp

編集: このトピックについて少し前に見たクールなビデオを思い出しました - http://www.egghead.io/video/tTihyXaz4Bo . John のサイトをチェックアウトしていない場合は、強くお勧めします。私が寄付した彼のビデオにとても感銘を受けました。

于 2013-06-11T03:21:24.590 に答える
2

個人的には、次のようにすると少しきれいになると思います。

angular.
  module('myApp').
  controller('myController', ['$dependency', 'anotherDependency', myAppController]);

function myAppController($dependency, anotherDependency) {
  ...
}

または、さらに良い:

var Controllers  = {};

Controllers .someController = function myAppController($dependency, anotherDependency) {
  ...
}

angular.
  module('myApp').
  controller('myController', ['$dependency', 'anotherDependency', Controllers .someController]);
于 2014-12-09T15:56:15.023 に答える