У меня есть двухуровневая вложенная группа FormGroup.
Я передаю @Input группу FormGroup в первую дочернюю сеть компонентов myForm.get('network')
.
Внутри сети компонентов я прохожу через @Input asub FormGroup network?.get('proxy')
в другом компоненте (прокси-компонент).
код стекаблиц
Образец :
this.myForm = fb.group({
id: [null],
network: fb.group({
status: [true],
proxy: fb.group({ enable: [true] })
})
})
Сводка :
Родительский компонент => myForm
дочерний сетевой компонент => * myForm.get('network')
ngOnChanges триггер
дочерний дочерний прокси-компонент => myForm.get('network')
ngOnChanges не триггер
ps: я использую для каждого ребенка ChangeDetectionStrategy.OnPush
.
Проблема :
Но мне кажетсякогда я перезагружаюсь от своего родителя (myForm) myForm.reset()
, он сбрасывает только один подуровень в сетевом компоненте, но не в дочернем прокси-компоненте.
Как я могу связать этот сброс от корня до дочернего элемента?
Я попытался передать formGroup в обсервале и асинхронизировать результат, но для комплексного использования его во всей моей структуре.
Моя идея :
Вызов из сети дочернего прокси с @ViewChild
и сброс оттуда, но выглядит странно для меня.
лучшее решение?