注意:我正在具有ngFor的组件中调用set函数。因此,当我调用set函数时,ngOnInit被执行多次,因此set函数也将执行多次。 我有一个可观察的对象,并对其进行了更新以保持数据的一致性。
private app= this.subject.asObservable().distinctUntilChanged();
我使用此方法访问数据
select<T>(name: string): Observable<T> {
return this.app.pluck(name);
}
当我在每个用户选择上更新此“应用”时,我将进入无限循环。因此,$ info开始反复打印相同的信息。然后,“ set”一遍又一遍地被调用。 我正在使用异步管道在html视图中进行订阅和取消订阅。有任何想法吗?
updateFruits(fruit) {
this.app.set('Fruits',fruit);
}
set(name: string,state: any) {
this.subject.next({ ...this.value,[name]: state });
}
this.info$ = combineLatest(fruits$)
.pipe(
distinctUntilChanged(),debounceTime(0)
map(fruits => fruits)
);