【问题标题】:When we use ngOnInit in services? [duplicate]当我们在服务中使用 ngOnInit 时? [复制]
【发布时间】:2020-06-03 08:55:59
【问题描述】:

我们什么时候在服务中使用 ngOnInit?

例如,我需要在服务中监听 Observer:

this.eventService.subscribe((data) => {

});

将此代码放在构造函数或 ngOnInit 中哪个更好?

【问题讨论】:

  • 订阅服务??我不知道你的要求,但一般来说服务不能订阅,是订阅服务的组件

标签: angular angular6 angular8


【解决方案1】:

ngOnInit 是一个角度生命周期钩子。它们仅在组件/指令中可用。在服务中,您不能使用它们。 所以需要在构造函数下使用this。

constructor(){

  this.eventService.subscribe((data) => {

  });

}

【讨论】:

    【解决方案2】:

    您需要将观察者推送到ngOnInit。问题是:

    • constructor 在对象被实例化时使用,当您有一些必须初始化的字段时需要它。
    • ngOnInit 是 Angular 在创建组件时调用的生命周期钩子

    【讨论】:

    • 服务有ngOnInit还是只有组件?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-26
    • 1970-01-01
    • 2017-02-04
    • 1970-01-01
    • 2020-07-31
    • 2021-03-22
    相关资源
    最近更新 更多