![](/img/trans.png)
[英]How to avoid automatic subscription of observables after combineLatest?
[英]How to avoid undefined in combineLatest?
我有兩個子組件<app-filter>
:
public filtersChanges = new BehaviorSubject<any>(null);
在父組件中,它們是:
<app-filter></app-filter>
<app-filter></app-filter>
因此,在父組件中,我可以訪問這些組件:
@ViewChildren(FilterComponent) filtersList: QueryList<FilterComponent>;
然后我監聽每個組件的變化filtersChanges
:
this.filtersChanges = combineLatest(...this.filtersList.map((f) => f.filtersChanges)).subscribe((data) => {
this.settings.filters = data;
});
問題是我想將[]
分配給 this.settings.filters 如果this.settings.filters
的combineLatest
是:
1. [undefined, undefined]
2. [null, null]
3. [[], []]
怎么做?
您可以簡單地用map
中的[]
替換虛假值。 代替
...this.filtersList.map((f) => f.filtersChanges)
有
...this.filtersList.map((f) => f.filtersChanges || [])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.