使用未在任何地方注入的 angular 服务

让卢卡·斯卡莱里

假设您有一个 Angular 服务 ( ZombieService),例如,它监视其他服务。并且,ZombieService没有注入任何地方DEMO

问题是,当您不在任何地方注入服务时,该服务将被完全忽略(不执行)。解决方案是将其注入到例如 AppComponent 中

@Component({
    selector: 'my-app',
    templateUrl: './app.component.html',
    styleUrls: [ './app.component.scss' ]
})
export class AppComponent  {
    constructor(zombieService: ZombieService) {}
    ...
}

虽然这有效,但我想知道是否有更好的解决方案。有什么建议么?

帕杰瓦尔

问题是,当您不在任何地方注入服务时,该服务将被完全忽略(不执行)。

因为一个不被其他人引用的文件,和来自不同项目的文件一样好。初始化一个没有参考的服务是没有意义的。

WebPack 或任何其他 JS 编排工具只考虑从主入口文件引用的文件来创建捆绑。

这些类型的服务被注入AppComponent,或者也可以被注入到模块级组件中。

这是跟踪/分析的最一般情况,并且有一个初始化步骤需要在大多数服务中完成,这需要将服务注入某个组件(可能AppComponent)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章