【发布时间】:2020-04-22 06:58:03
【问题描述】:
[本题基于https://ngrx-forms.readthedocs.io/]
我的角度组件中有一组主题(字符串)。我正在使用 ngrx-store 来管理状态以及用于管理表单的 ngrx-forms。 在组件的初始化过程中,我为组件内的每个主题调度了一些动作。
ngOnInit(): void {
this.formState$ = this.store.pipe(select(s => s.filterByTopics.formState))
this.topicsOptions$ = this.store.pipe(select(s => s.filterByTopics.topicsOptions))
Object.keys(this.topics).forEach(topic => this.store.dispatch(new CreateTopicControlAction(topic)))
}
效果很好,并且正在添加 ngrx-form 控件。
但真正的问题是,如果我再次访问同一个组件,它会重新初始化操作(因为 ngOnInit 包含所有操作)并吐出错误:
Uncaught Error: Group 'filterByTopicsForm.topics' already has child control '0'!
如何防止这种情况发生?
还有其他解决方法吗?
【问题讨论】:
标签: angular forms ngrx angular-forms