dataService: DataService) {}
ngOnInit() {
this.searchResult$ = combineLatest(
this.dataService.state$,
this.filters$,
).map(filterData);
}
Ясно, что так делать не стоит, хочу предложить переписать таким образом:
searchResult$: Observable;
@Input() filters;
private filters$ = new Subject();
constructor(private dataService: DataService) {
this.searchResult$ = combineLatest(
this.dataService.state$,
this.filters$,
).map(filterData);
}
ngOnChanges(changes) {
const filters = changes.filters;
if (filters && filters.previousValue !== filters.currentValue) {
this.filters$.next(filters.currentValue);
}
}
Есть у кого-нибудь идеи получше?
Спасибо.
может быть ngOnChanges заменить на @Input() set filters(val) { this.filters$.next(val); }
Обсуждают сегодня