【发布时间】:2014-10-16 07:51:23
【问题描述】:
我已经阅读了很多关于 angularjs 中模块的描述,并且对它们的真正用途感到困惑。让我用一些代码来解释我的情况,这首先是我应该根据最佳实践做的:
angular.module('secondModule',[]).controller('myController',function(){
//do something
};
angular.module('app',['secondModule']);
但是,正如我所看到的(以及阅读部分 angularjs 源代码),这与以下内容完全相同:
angular.module('app',[]).controller('myController',function(){
//do something
};
基本上,无论我在哪个模块中创建我的控制器、过滤器、指令等。它们仍将全部进入一个全局存储桶,一旦创建控制器,它就会简单地注册到全局控制器列表中并且没有任何连接,所以一直到创建它的模块。
我似乎看到模块的唯一好处是指定浏览器应以何种顺序解释它们(通过在模块声明中指定依赖项)。
所以问题很简单,我错过了什么,当我使用这些模块创建的任何东西仍然位于同一个全局存储桶中时,我为什么要使用模块?
【问题讨论】: