这里设置了新的值,在组件1订阅 到改变后的值。
angular设置全局变量,修改监听变量
发布时间:2020-12-17 17:08:37 所属栏目:安全 来源:网络整理
导读:创建service.module.ts import { NgModule,ModuleWithProviders } from ‘@angular/core‘ ;import { SomeSharedService } from ‘./global.service‘ ;export { SomeSharedService}@NgModule()export class ServicesModule { static forRoot():ModuleWithPr
创建service.module.ts import { NgModule,ModuleWithProviders } from ‘@angular/core‘; import { SomeSharedService } from ‘./global.service‘; export { SomeSharedService } @NgModule() export class ServicesModule { static forRoot():ModuleWithProviders{ return { ngModule:ServicesModule,providers:[SomeSharedService] } } } 新建global.service.ts import { Injectable } from ‘@angular/core‘ import { BehaviorSubject } from ‘rxjs‘; @Injectable() export class SomeSharedService { public globalVar:BehaviorSubject<any[]> = new BehaviorSubject([]); public pageLimit = 10; } 在组件1中引入服务并获取值 ... import { SomeSharedService } from ‘src/app/services/global.service‘; ..... constructor( private someSharedService: SomeSharedService ) { } ngOnInit() { this.someSharedService.globalVar.subscribe(d=>{ this.clumb = d; }) } .... } 在组件2中引入服务并设置值 import { SomeSharedService } from ‘src/app/services/global.service‘; .... ... constructor( private someSharedService$:SomeSharedService ) {} getProjectName(id:Number){ this.someSharedService$.globalVar.next([‘我的项目‘,{id:id,name:res.data.project_name}] } .... } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |