Problem:
You have an Angular service implementing OnInit
:
import { Injectable, OnInit } from '@angular/core'; @Injectable() export class MyService implements OnInit { constructor() { } ngOnInit() { console.log("MyService initializing"); } }
but it never prints MyService initializing
– i.e. the ngOnInit()
function is never actually being called.
Solution:
Services should not implement OnInit
, the function is deliberately never called. Instead, add the code from ngOnInit()
in the constructor()
and remove implements OnInit
and ngOnInit()
:
import { Injectable, OnInit } from '@angular/core'; @Injectable() export class MyService { constructor() { console.log("MyService initializing"); } }