博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
angular设置全局变量,修改监听变量
阅读量:5086 次
发布时间:2019-06-13

本文共 1199 字,大约阅读时间需要 3 分钟。

创建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
= 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}]  }....}

这里设置了新的值,在组件1订阅 到改变后的值。

转载于:https://www.cnblogs.com/mary-123/p/11206694.html

你可能感兴趣的文章
IOS--沙盒机制
查看>>
使用 JointCode.Shuttle 访问任意 AppDomain 的服务
查看>>
sqlite的坑
查看>>
digitalocean --- How To Install Apache Tomcat 8 on Ubuntu 16.04
查看>>
【题解】[P4178 Tree]
查看>>
Mongo自动备份
查看>>
cer证书签名验证
查看>>
synchronized
查看>>
【深度学习】caffe 中的一些参数介绍
查看>>
Python-Web框架的本质
查看>>
QML学习笔记之一
查看>>
App右上角数字
查看>>
从.NET中委托写法的演变谈开去(上):委托与匿名方法
查看>>
小算法
查看>>
201521123024 《java程序设计》 第12周学习总结
查看>>
新作《ASP.NET MVC 5框架揭秘》正式出版
查看>>
IdentityServer4-用EF配置Client(一)
查看>>
WPF中实现多选ComboBox控件
查看>>
读构建之法第四章第十七章有感
查看>>
Windows Phone开发(4):框架和页 转:http://blog.csdn.net/tcjiaan/article/details/7263146
查看>>