将observable <myObject>添加到observable <myObject []>

时间:2019-06-23 10:35:10

标签: angular typescript rxjs angular7

我正在使用可观察的myObject数组来填充html模板中选择的输入类型。 我希望能够根据条件在列表中添加另一个选项。

=>我想将myItem = Observable <myObject>添加到我的myList = Observable<myObject[]>

我从http方法中检索了两个可观察值。 我在文档中找不到任何运算符来执行此操作。

我可以通过订阅myItem这样来实现

myList.pipe(
 map(x=> myItem.subscribe(y=> x.push(y)))
)

但是我更愿意在没有订阅的情况下这样做。

我的模板就像

<mat-form-field>
  <mat-select [value]="selected$ | async" (selectionChange)="getSelectedValue($event)">
    <mat-option *ngFor="let item of myList | async" [value]="item.Id">{{item.Name}} </mat-option>
  </mat-select>
</mat-form-field>```

2 个答案:

答案 0 :(得分:1)

您可以使用Observable.concat

myList = Observable.concat(myList, from(myItem));

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

答案 1 :(得分:0)

// RxJS v6 +

import { concat } from 'rxjs';

myList = concat(myList, from(myItem))