我在 ngrx 实体存储中获取了根据寻呼机以块的形式显示的数据,我的问题是 rxjs 它如何记住分页,例如我从服务器获取第一页数据,它可以工作,然后如果我获取下一页,它现在可以正常加载如果我回到第一页,数据被 switchMap 截断,如果我再次转到前面一页,当商店中有数据时,switchMap 会给我一个空数组...之后我完全对 rxjs 感到困惑...
这是我在创建新数组时也显示的代码,一切正常我只是不明白这种奇怪的效果为什么会导致不可变数据?我还使用 ngrx 在 Oninit 上的子组件中加载输入的保存状态,我使用保存的状态修补表单,然后在表单上设置一个侦听器,以便每次输入更改时我都会保存它。开发中的问题它工作得很好,但在生产中它无法修补输入,我猜测在 Oninit 运行后加载数据需要更长的时间。
处理这种情况的最佳方法是什么,尝试了不同的方法,一些方法给出错误,导致数据在视图渲染之前被修改,另一种方法让我陷入无限循环。这是子代码
export class ChildComponent implements OnInit {
@Output() updateFilters = new EventEmitter<string>(false);
@Input() filters: MessageFilter;
form: FormGroup;
constructor(fb: FormBuilder) {
this.form = fb.group({ kind: [] });
}
ngOnInit() {
if (this.filters.kind) {
this.form.patchValue({kind: this.filters.kind});
}
this.form.valueChanges.pipe(
untilDestroyed(this),
distinctUntilChanged(),
).subscribe(values => {
this.updateFilters.emit(values.kind);
});
}
}
万千封印
相关分类