使用自己的数据更新 BehaviorSubject
Updating BehaviorSubject using it's own data
我有以下代码:
summaries$: BehaviorSubject<IncidentSummary[]> = new BehaviorSubject(new Array<IncidentSummary>(0));
onSearchTextChanged(val: any) {
this.summaries$.subscribe(data => this.summaries$.next(data.filter(summary =>
summary.name.startsWith(val)
|| summary.type.startsWith(val))));
}
基本上我是根据搜索文本过滤 BehaviorSubject 的数据。问题是这段代码会导致无限循环。我尝试 unsubscrib
ing 从没有帮助的订阅中。那么如何使用数据传递给BehaviorSubject.next
?
不订阅获取数据。您可以将完整的数据数组存储在自己的 属性 中,然后使用您根据完整数据和搜索文本计算出的新过滤数据调用 next
。
我有以下代码:
summaries$: BehaviorSubject<IncidentSummary[]> = new BehaviorSubject(new Array<IncidentSummary>(0));
onSearchTextChanged(val: any) {
this.summaries$.subscribe(data => this.summaries$.next(data.filter(summary =>
summary.name.startsWith(val)
|| summary.type.startsWith(val))));
}
基本上我是根据搜索文本过滤 BehaviorSubject 的数据。问题是这段代码会导致无限循环。我尝试 unsubscrib
ing 从没有帮助的订阅中。那么如何使用数据传递给BehaviorSubject.next
?
不订阅获取数据。您可以将完整的数据数组存储在自己的 属性 中,然后使用您根据完整数据和搜索文本计算出的新过滤数据调用 next
。