Это потому, что ControlContainer
провайдер может быть зарегистрирован по любой из следующих директив:
Директивы на основе шаблонов
Реактивные директивы
- FormGroupDirective
- FormGroupName
- FormArrayName
но вы ожидаете, что это будет всегда FormGroupDirective
, в то время как во втором компоненте родительский ControlContainer
равен FormGroupName
.
Я бы использовал общее решение, которое будет работать независимо от типа родительского элемента ControlContainer
:
viewProviders: [{
provide: ControlContainer,
useFactory: (container: ControlContainer) => container,
deps: [[new SkipSelf(), ControlContainer]],
}]
Разветвленный стек-блиц