我在我的应用程序中声明了一堆Angular模块.我最初开始使用"链式"语法声明它们,如下所示:
angular.module('mymodule', [])
.controller('myctrl', ['dep1', function(dep1){ ... }])
.service('myservice', ['dep2', function(dep2){ ... }])
... // more here
Run Code Online (Sandbox Code Playgroud)
但我觉得这不是很容易阅读,所以我开始使用这样的模块变量声明它们:
var mod = angular.module('mymodule', []);
mod.controller('myctrl', ['dep1', function(dep1){ ... }]);
mod.service('myservice', ['dep2', function(dep2){ ... }]);
...
Run Code Online (Sandbox Code Playgroud)
第二种语法对我来说似乎更具可读性,但我唯一的抱怨是这种语法将mod变量留在全局范围内.如果我有一些其他变量命名mod,它将被下一个(和其他与全局变量相关的问题)覆盖.
所以我的问题是,这是最好的方法吗?或者做这样的事情会更好吗?:
(function(){
var mod = angular.module('mymod', []);
mod.controller('myctrl', ['dep1', function(dep1){ ... }]);
mod.service('myservice', ['dep2', function(dep2){ ... }]);
...
})();
Run Code Online (Sandbox Code Playgroud)
或者甚至足够关心?只是想知道模块声明的"最佳实践"是什么.提前致谢.
angularjs ×1