javascript - 在 AngularJS 中实例化全局服务

标签 javascript angularjs

我目前正在工作中使用 AngularJS 开发一个新系统。并且应用程序当前有许多 Controller 、服务和指令,以及许多依赖项。

系统大约有9个服务,其中大部分在多个 Controller 中重用,因此我将它们注入(inject)到父 Controller 中,以便子 Controller 可以访问它们。每个服务都存储整个系统使用的数据。

但是,随着开发的进展,我发现管理变得越来越难,在某些情况下,我必须做一些修改才能在不同的地方使用服务的实例。

我的问题是,我不应该将所有服务注入(inject)主 Controller ,而是应该在 app.js 文件中将它们实例化为全局变量......但我真的不喜欢使用全局变量的想法,所以除了这样做之外,还有其他解决方案吗?

最佳答案

服务在 Angular 中是单例,因此您应该将它们注入(inject)到需要的地方。没有必要将它们注入(inject)祖先并将其传播下来。也只需将其直接注入(inject)到 child 体内即可。无论如何,该服务都只有一个实例,所以为什么不以这种方式让它变得更容易呢?

关于javascript - 在 AngularJS 中实例化全局服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26498649/

相关文章:

javascript - 如何根据对象中选定的答案返回数组

c# - WebAPI + AngularJS 中基于 DateTime 的动态 HTTP 请求

angularjs - 使用 Karma 和 Jasmine 在 Angular JS 中测试父 Controller 作用域的变量

javascript - Angular 工厂访问私有(private)函数

javascript - EmberJS : Cannot read property 'typeKey' of undefined

javascript - 我可以在另一个 Controller 中使用一个 Controller 吗?

javascript - 从根目录导入 ES6

javascript - RequireJS 与 jQuery 和模块 - 未捕获的 ReferenceError : Module is not defined

java.sql.SQL语法错误异常 : ORA-01795: maximum number of expressions in a list is 1000

javascript - 将 ui-router 与 View 转换一起使用