【发布时间】:2020-06-03 08:55:59
【问题描述】:
我们什么时候在服务中使用 ngOnInit?
例如,我需要在服务中监听 Observer:
this.eventService.subscribe((data) => {
});
将此代码放在构造函数或 ngOnInit 中哪个更好?
【问题讨论】:
-
订阅服务??我不知道你的要求,但一般来说服务不能订阅,是订阅服务的组件
我们什么时候在服务中使用 ngOnInit?
例如,我需要在服务中监听 Observer:
this.eventService.subscribe((data) => {
});
将此代码放在构造函数或 ngOnInit 中哪个更好?
【问题讨论】:
ngOnInit 是一个角度生命周期钩子。它们仅在组件/指令中可用。在服务中,您不能使用它们。
所以需要在构造函数下使用this。
constructor(){
this.eventService.subscribe((data) => {
});
}
【讨论】:
您需要将观察者推送到ngOnInit。问题是:
constructor 在对象被实例化时使用,当您有一些必须初始化的字段时需要它。ngOnInit 是 Angular 在创建组件时调用的生命周期钩子【讨论】:
ngOnInit还是只有组件?