<app-filter *ngFor="let item of selectedFilters">
                  
                  
                          <app-report-filters-selected-component [selectedFilters]="item"></app-report-filters-selected-component>
                  
                  
                      </app-filter>
                  
                  
                  </form>
                  
                  
                  
                  
                  
                  вот код app-report-filters-selected-component (скрин)
                  
                  
                  
                  
                  
                  этот компонент нужен для того, что бы в нем динамически создавать компонент который работает непосреддственно с формой (extends ControlValueAccessor) - допустим CustomTextareaComp
                  
                  
                  
                  
                  
                  CustomTextareaComp имеет такой конструктор
                  
                  
                  constructor(
                  
                  
                      @Optional() @Host() @SkipSelf() private controlContainer: ControlContainer
                  
                  
                  ) {
                  
                  
                      super();
                  
                  
                  }
                  
                  
                  
                  
                  
                  Так вот, если создавать  динамически  CustomTextareaComp - то controlContainer равен почему то  null
                  
                  
                  
                  
                  
                  Если же просто в темплейте компонента app-report-filters-selected-component  создать компонент CustomTextareaComp <app-custom-textarea-comp></app-custom-textarea-comp> - то controlContainer нормальный и все работает ( данные записываются в форму parent comp) 
                  
                  
                  
                  
                  
                  
                  
                  
                  То есть проблема возникает именно из-за динамического создания компонента через резолвер, функция: 
                  
                  
                  private createComponent() {
                  
                  
                      const ngControl = this.injector.get(NgControl);
                  
                  
                      const componentFactory = this.componentFactoryResolver.resolveComponentFactory(this.getComponent);
                  
                  
                  
                  
                  
                      const componentRef = this.viewContainerRef.createComponent(componentFactory);
                  
                  
                  
                  
                  
                      ngControl.valueAccessor = componentRef.instance;
                  
                  
                  }
                  
                  
                  
                  
                  
                  Может я не так создаю компонент, что делать?
                  
                  
                
передайте компоненту инжектор
не понял Можете уточнить, пожалуйста?
Обсуждают сегодня