关于
auditBuilderListSerivce
,我假设
changeFilter()
结果
auditBuilderData$
释放一个新的值。如果是这种情况,它解释了为什么你的开关地图不起作用。你回来了
auditBuilderData$
太晚了,因为它在你调用的那一刻就释放出了它的价值
changeFilter()
.
至于解决方案,你可以选择
changeFilter()
返回要发出的值(如果可能)。另一个选择是引用和订阅
auditBuilderData$
分别地
registerFilters$ = this.filterservice.registerFilters({
key: this.FILTERS_KEY,
filters: this.AUDIT_FILTERS,
sorts: [new DateSort({ for: 'modifiedOn' })],
}).pipe(
tap(filters =>{
this.filters = filters;
this.auditBuilderListService.changeFilter(filters);
}),
takeUntil(this.destroy$)
);
auditData$ = this.auditBuilderListService.auditBuilderData$;
takeUntil(this.destroy$)
);
当你对这两个观测都有一个活跃的订阅,
registerFilters$
将调用
changeFilter()
作为副作用
auditData$
释放它的新价值。