Angular6通过service进行传值

应用场景

当一个父组件下的不同子组件需要进行传递数据时,我们可以选择通过Angular中的service传值

需使用到的Observable简介

在RxJS中,Subject是一类特殊的Observable,它可以向多个Observer多路推送数值。普通的Observable并不具备多路推送的能力(每一个Observer都有自己独立的执行环境),而Subject可以共享一个执行环境。BehaviorSubject是Subject的一个衍生类,它将数据流中的最新值推送给接受者

  • 在服务中使用订阅来向各个组件推动数据;
  • 在父组件的模板中绑定属性,父子组件中的构造函数同时使用服务参数;
  • 在子组件中调用服务中的推送来推送数据更改,其他子组件可以通过ngOnChanges来检查更改然后做出相应的处理。

实例1

在公共父组件的service中先定义一个BehaviorSubject

$openTabs: BehaviorSubject<Set<ITab>> = new BehaviorSubject<Set<ITab>>(new Set());[set是Angular中的构造函数]
$openTabIndex: BehaviorSubject<number> = new BehaviorSubject<number>(-1);

/
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值