如何从可观察的 rxjs 中获取两个或多个值作为数组?

How get two or more values as an array from observable rxjs?

我有按钮事件:

 checkAnswer() {

 const btn = this.btns.map(btn => btn.nativeElement);

 this.nextAskSub = fromEvent(btn, 'click').pipe(

*// Surely this is wrong, can something like this be done? //*

 [pluck('target', 'value') && pluck('target', 'disabled')]

).subscribe((res: any) => {
  this.data = res[0]
  this.disabled = res[1]
})

}

我想return btn 值和禁用状态作为一个数组。可能吗?

你可以只使用 map:

this.nextAskSub = fromEvent(btn, 'click').pipe(
    map(e => [e.target.value, e.target.disabled])
).subscribe((res: any) => {
  this.data = res[0]
  this.disabled = res[1]
})

基本上只是将事件映射到两个元素的“元组”。