Angular 6 Services: providedIn: 'root' vs CoreModule
问题 With Angular 6, below is the preferred way to create singleton services: import { Injectable } from '@angular/core'; @Injectable({ providedIn: 'root', }) export class UserService { } From Angular doc: When you provide the service at the root level, Angular creates a single, shared instance of HeroService and injects into any class that asks for it. Registering the provider in the @Injectable metadata also allows Angular to optimize an app by removing the service if it turns out not to be used