我目前正在工作中使用 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/