注意:我在具有 ngFor 的组件中调用 set 函数。因此,当我调用 set 函数时,ngOnInit 会多次执行,因此 set 函数也会多次执行。 我有一个带有我更新以保持数据一致的对象的可观察对象。
private app= this.subject.asObservable().distinctUntilChanged();
我使用这种方法访问数据
select<T>(name: string): Observable<T> {
return this.app.pluck(name);
}
当我在每个用户选择上更新这个“应用程序”时,我就会进入一个无限循环。所以 $info 开始一遍又一遍地打印相同的信息。并且“集合”被一遍又一遍地调用。我正在使用异步管道在 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)
);