您可以在Angular 7中为单例服务提供程序提供一个解决方法。以下是一个示例:
SingletonService
的单例服务:import { Injectable } from '@angular/core';
@Injectable({
providedIn: 'root'
})
export class SingletonService {
constructor() { }
// 添加一些方法和属性
}
app.module.ts
文件中,确保您将SingletonService
添加到providers
数组中:import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';
import { SingletonService } from './singleton.service';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule
],
providers: [SingletonService], // 添加SingletonService到providers数组中
bootstrap: [AppComponent]
})
export class AppModule { }
SingletonService
:import { Component } from '@angular/core';
import { SingletonService } from './singleton.service';
@Component({
selector: 'app-root',
template: `
{{ title }}
`,
})
export class AppComponent {
title: string;
constructor(private singletonService: SingletonService) {
this.title = this.singletonService.getTitle(); // 调用SingletonService的方法
}
}
现在,您的单例服务SingletonService
将被正确提供给您的应用程序的所有组件,并且将成为一个单一的实例。