声明控制器的Angular Convention

Mar*_*itt 5 angularjs

是否有关于控制器声明的既定惯例?(或任何形式的模块级配置).

我观察到两种不同的使用方法:

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

VS

angular.module('ShoppingCart').controller('CheckoutCtrl', function($scope) { ... });
Run Code Online (Sandbox Code Playgroud)

这两种方法之间有什么好处吗?此外,是否有一个首选的(或新兴的)惯例?

我对具有许多模块的非平凡应用程序的好处特别感兴趣,其中控制器和模块的声明可能跨越许多文件.

Ter*_*rry 6

我个人做了以下(之后的原因):

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

angular.module('myApp').controller('myController', ['$dependency', 'anotherDependency',      
  function($dependency, anotherDependency) {
    ...
  }
]);
Run Code Online (Sandbox Code Playgroud)

原因:

  • 我尽量避免全球范围
  • 冗余地声明与字符串等效项的依赖关系允许您安全地缩小代码
  • 它是一致的,干净的,整个故事就在那里.例如.有app.something你不知道什么app是与'angular.module("对myApp")的东西"这是很明显那是什么.

编辑:刚刚记得我刚才在这个话题上看到的很酷的视频 - http://www.egghead.io/video/tTihyXaz4Bo.如果您还没有查看John的网站,我强烈推荐它.我捐赠的视频让我印象深刻,你也应该这样!

  • @bsiddiqui 我相信注入依赖项,例如`angular.module('myApp', ['ui.bootstrap']);`。 (2认同)