是否有关于控制器声明的既定惯例? (或任何形式的模块级配置)。
我观察到两种不同的使用方法:
var shoppingCartModule = angular.module('ShoppingCart',[])
shoppingCartModule.controller('CheckoutCtrl', function($scope) { ... });
VS
angular.module('ShoppingCart').controller('CheckoutCtrl', function($scope) { ... });
两种方法之间有什么好处吗?此外,是否有一个首选的(或新兴的)惯例?
我对具有许多模块的非平凡应用程序的好处特别感兴趣,其中控制器和模块的声明可能跨越许多文件。
答案 0 :(得分:6)
我个人做以下事情(之后的原因):
angular.module('myApp', []);
angular.module('myApp').controller('myController', ['$dependency', 'anotherDependency',
function($dependency, anotherDependency) {
...
}
]);
原因:
app.something
你不知道app
是什么,使用`angular.module('myApp')。有些东西'很明显是什么。修改 :刚刚想起了我之前在这个话题上看到的很酷的视频 - http://www.egghead.io/video/tTihyXaz4Bo。如果您还没有查看John的网站,我强烈推荐它。我捐赠的视频给我留下了深刻印象,你也应该这样做!
答案 1 :(得分: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]);