我的公司已开始转换使用AngularJS,我们开始使用该框架添加越来越多的功能。以前,我没有真正的文件结构和应用程序的模块化,但现在它正在增长,我想建立适当的结构。
我遇到麻烦让一些工厂工作,我希望对整个应用程序都是全球性的。我有一个像
这样的主要模块angular.module('app', ['app.dashboard', 'app.store', 'app.login', 'app.media'])
然后是几个子模块,比如
angular.module('app.dashboard', [])
angular.module('app.store', [])
angular.module('app.login', [])
angular.module('app.media', [])
我想创建一个工厂调用API
,它使用$resource
来创建一个RESTful服务来使用我们的Web API。我一直在使用这个工厂并知道它有效,现在我只是想重新构建一切。工厂存在于app
模块上,因此我认为所有子模块都可以访问它,但我认为DI是相反的方向,因此子模块不会从根{{{}获得任何工厂或服务。 1}}模块。
创建服务方面的最佳做法是什么,例如对整个应用程序来说是全局的API服务?
答案 0 :(得分:1)
逻辑上,全局使用的服务应该在自己的模块中定义,使用它的所有模块都应该依赖它。
如果您计划在单独的应用程序中使用此模块,这很重要,以便能够在不需要提取特定于应用程序的组件的情况下提取它。但是如果你在一个应用程序中使用它,它并不重要,因为最后,应用程序加载的所有模块的所有组件(递归地)都可以在任何地方使用。