Angular Service ngOnInit() wird nicht aufgerufen beheben

English Deutsch

Problem:

Es gibt einen Angular-Service, der OnInit implementiert:

my-service.ts
import { Injectable, OnInit } from '@angular/core';

@Injectable()
export class MyService implements OnInit {

  constructor() { }

  ngOnInit() {
    console.log("MyService initializing");
  }
}

aber er gibt nie MyService initializing aus – d.h. die Funktion ngOnInit() wird nie tatsächlich aufgerufen.

Lösung

Services sollten OnInit nicht implementieren, die Funktion wird absichtlich nie aufgerufen. Stattdessen den Code aus ngOnInit() in den constructor() verschieben und implements OnInit sowie ngOnInit() entfernen:

my-service.ts
import { Injectable, OnInit } from '@angular/core';

@Injectable()
export class MyService {

  constructor() {
    console.log("MyService initializing");
  }

}

Check out similar posts by category: Angular, Typescript