在所有组件之间共享服务。在服务内部,声明一个变量,它将保存要在组件之间共享的值。然后使用getter和setter从服务中分配,检索或修改变量,而不必调用服务器。
以下是在多个组件之间共享变量的简单example。
shared.service.ts:
import { Injectable } from '@angular/core';
@Injectable()
export class AppService{
myGlobalVar;
constructor(){
this.myGlobalVar = true;
alert("My intial global variable value is: " + this.myGlobalVar);
}
setMyGV(val: boolean){
this.myGlobalVar = val;
}
getMyGV(val: boolean){
return this.myGlobalVar;
}
}
添加服务app.module.ts供应商:
@NgModule({
...
providers: [ AppService ],
bootstrap: [ AppComponent ]
})
export class AppModule { }
在component.ts注射服务,并用它来设置,检索或修改变量。
constructor(private appService: AppService) { }
changeGV(val){
this.appService.setMyGV(val);
}
showGV(){
alert("GV: " + this.appService.getMyGV());
}