[этот вопрос основан на https://ngrx-forms.readthedocs.io/]
У меня есть массив тем (строк) внутри моего angular компонента. Я использую ngrx-store для управления состоянием вместе с ngrx-формами для управления формами. Во время инициализации компонента я отправляю некоторые действия для каждого topi c внутри компонента.
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'!
image.png
Как я могу предотвратить это?
Есть ли другой обходной путь?