在AngularJS中实例化全局服务

Instantiate global services in AngularJS

本文关键字:全局 服务 实例化 AngularJS      更新时间:2023-09-26

我目前正在使用AngularJS开发一个新系统。该应用程序目前有许多控制器、服务和指令,以及许多依赖项。

该系统大约有9个服务,其中大多数在多个控制器中重复使用,所以我将它们注入父控制器,以便子控制器可以访问它们。每个服务存储整个系统中使用的数据。

然而,随着开发的进展,我发现管理起来越来越困难,在某些情况下,我必须进行一些破解才能在不同的地方使用服务的实例。

我的问题是,与其将所有服务注入主控制器,不如将它们作为全局变量在app.js文件中实例化。。。但我真的不喜欢全局变量的想法,所以除了这样做,还有其他解决方案吗?

服务是Angular中的单体,因此您应该将它们注入到任何需要它们的地方。没有必要将它们注入祖先体内并将其推进。只需将其直接注射到孩子体内即可。无论如何,只有一个服务实例,所以为什么不通过这种方式简化它呢?