2016-06-07 9 views
2

Wenn wir wollen, dass die übergeordnete Komponente für Kinderprogramm hört verwenden wir die @output Parameter und zeichnet auf dem übergeordneten Markup:Ausgangsparameter in dynamischen Komponenten

<my-tag (onMyEvent)="onMyEvent($event)"></my-tag> 

wie mache ich es mit ComponentResolver?

Antwort

6

Das wird nicht unterstützt.
- Verwenden Sie einen gemeinsam genutzten Dienst mit Komponenten, die dynamisch unter Verwendung von ViewContainerRef.createComponent() oder
hinzugefügt werden - verwenden Sie die componentRef, die zwingend erforderlich ist, um Ein- und Ausgänge zu verdrahten.

this.resolver.resolveComponent(this.type).then((factory:ComponentFactory<any>) => { 
    this.cmpRef = this.target.createComponent(factory); 
    this.cmpRef.instance.someOutput.subscribe(...) 
    this.cmpRef.instance.someInput = this.someInputValue; 
}); 
+1

Nochmals vielen Dank. Ich habe diese Lösung verwendet: Eltern und Kinder kommunizieren über einen Dienst https://angular.io/docs/ts/latest/cookbook/component-communication.html#!#bidirektionaler-service – Avi

Verwandte Themen