首页
学习
活动
专区
圈层
工具
发布

订阅角6
EN

Stack Overflow用户
提问于 2018-09-04 17:19:15
回答 2查看 68关注 0票数 2
代码语言:javascript
复制
toppings : Array
toppings2 : Array

我有两个订阅方法:

代码语言:javascript
复制
this.toppings.valueChanges.subscribe(val=> { 
console.log(val);
}

this.toppings2.valueChanges.subscribe(val2=> { 
console.log(val2);
}

我想在相同的字体中使用val和val2。我怎样才能在同一个地方获得val和val2?(或val3= val+val2)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-09-04 17:27:04

zip组合了两个可观测值,并等待它们发出。combineLatest也会做得很好,你需要的并不重要,

代码语言:javascript
复制
zip(this.toppings.valueChanges, this.toppings2.valueChanges).subscribe(val => console.log(val[0] + val[1]))
票数 3
EN

Stack Overflow用户

发布于 2018-09-04 17:26:44

combineLatest将为您提供最新版本的toppings和toppings2。

https://www.learnrxjs.io/operators/combination/combinelatest.html

大理石图:http://rxmarbles.com/#combineLatest

示例:

代码语言:javascript
复制
import {combineLatest} from 'rxjs';

combineLatest(this.toppings.valueChanges, this.toppings2.valueChanges )
                          .subscribe( ([topping1val, topping2val]) => {
                                      let topping3 = topping1val + topping2val;
                                 });
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52171218

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档