Passing Input beim dynamischen Erstellen von Angular 2 Component mit ComponentResolver

Ich kann eine dynamische Angular 2-Komponente mit ComponentResolver und ViewContainerRef laden.

Ich kann jedoch nicht herausfinden, wie eine Eingabevariable der untergeordneten Komponente an diese übergeben wird.

parent.ts

    @Component({
     selector: "parent",
     template: "<div #childContainer ></div>"
    })
    export class ParentComponent {
      @ViewChild("childContainer", { read: ViewContainerRef }) childContainer: ViewContainerRef;

      constructor(private viewContainer: ViewContainerRef, private _cr: ComponentResolver) {}

      loadChild = (): void => {
           this._cr.resolveComponent(Child1Component).then(cmpFactory => {               
              this.childContainer.createComponent(cmpFactory);
           });
      }
    }

child1

 @Component({
   selector: "child1",
   template: "<div>{{var1}}</div><button (click)='closeMenu()'>Close</button>"
 })
 export class Child1Component {
    @Input() var1: string;
    @Output() close: EventEmitter<any> = new EventEmitter<any>();

    constructor() {}

    closeMenu = (): void => {
      this.close.emit("");
    }
 }

so im obigen Beispiel sagloadChild wird auf Knopfdruck aufgerufen, ich kann Child1Component laden, aber wie wird @ übergebvar1 Eingabe des Kindes? Auch Wie abonniere ichclose EventEmitter dekoriert mit@Output

Antworten auf die Frage(4)

Ihre Antwort auf die Frage