angularjs - 声明 Controller 的 Angular 约定

标签 angularjs

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

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

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

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

这两种方法之间有什么好处吗?此外,是否有首选(或新兴)约定?

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

最佳答案

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

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

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

原因:
  • 我尽量避免使用全局范围
  • 使用字符串等价物冗余声明依赖关系可以让您安全地缩小代码
  • 它是一致的,干净的,整个故事就在那里。例如。与 app.something你不知道app是,使用 `angular.module('myApp').something' 很明显那是什么。

  • 编辑 : 刚刚想起我不久前看到的关于这个主题的一个很酷的视频 - http://www.egghead.io/video/tTihyXaz4Bo .如果您还没有查看过 John 的网站,我强烈推荐它。我捐赠的他的视频给我留下了深刻的印象,你也应该这样做!

    关于angularjs - 声明 Controller 的 Angular 约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17035890/

    相关文章:

    angularjs - 如何使 angularJS ng-model 与选择元素中的对象一起使用?

    javascript - 如何让多个 Angular JS 路由共享一个 Controller 实例?

    javascript - AngularJS 指令类似于 Rails 助手

    javascript - 如何获得一个 Angular Directive(指令)来包含和替换另一个指令?

    javascript - 范围变量在从服务调用更改后在 UI 中不受影响

    javascript - 如何以 Angular 观看字符串更改 - 添加退格键?

    javascript - Angular Charts.js : Can't refresh chart with data

    javascript - 无法构建 ngtoast

    javascript - Angularjs 循环拼接

    javascript - Angular-Kendo TreeView - 使用 div 和 span 模板