假设您有一个 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] 删除。
我来说两句