2015-11-25 2 views
6

zugreift Ich habe eine Dialogkomponente als Direktiven angehängt, um sie auf der Hauptkomponentenseite anzuzeigen, wenn ich auf den Button auf der Hauptseite klicke (welcher Link zur Hauptkomponente). Dies ist, wie ich es tatAngular 2 - Wie man auf Direktiven von Component

In der Vorlage

<button id="goToTasksCases" class="btn btn-success btn-lg" (click)="doShowStartNewCase($event)">START A NEW CASE</button> 
<modal-new-case></modal-new-case> 

In der Komponente

@Component({ 
    selector: 'case-index' 
}) 
@View({ 
    templateUrl: 'client/app/case/case.index.html', 
    directives : [ModalNewCaseComponent] 
}) 
export class CaseIndexComponent { 
    doShowStartNewCase(event: any) { 
     // how can I access the ModalNewCaseComponent 
    }  
} 

Ich brauche aber einige Werte für die untergeordnete Komponente einzustellen (ModalNewCaseComponent) nach Rückruf vom Rest-Service. Wie kann ich das mit dem aktuellen Setup erreichen?

Antwort

14

können Sie fragen die Ansicht Kinder von:

@Component({ 
    selector: 'case-index', 
    templateUrl: 'client/app/case/case.index.html', 
    directives : [ModalNewCaseComponent] 
}) 
export class CaseIndexComponent { 
    @ViewChild(ModalNewCaseComponent) 
    modal: ModalNewCaseComponent; 

    afterViewInit() { 
     // this.modal will have value 
    } 

    doShowStartNewCase(event: any) { 
     // how can I access the ModalNewCaseComponent 
    }  
} 

Sie können mehr über ViewChildren and ContentChildren here finden.

+0

Jesus !! Ich suchte google für die letzte Stunde und fand nichts in der Nähe (meistens mit ViewManager, Element ....). Du bist ein Lebensretter !!!!! –

+1

Es wird hier weiter erklärt https://www.packtpub.com/web-development/switching-angular-2 :-) –