簡體   English   中英

如何避免在 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.filterscombineLatest是:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM