2017-05-13 6 views
-5

Ich habe ein Beispiel erstellt, in dem Daten, die an Eltern zu Kind und Elternteil übergeben werden, umgekehrt angezeigt werden. So ist das Senden von Eltern zu Kinddaten abgeschlossen. Aber es hat keine Daten an die Elternkomponente übergeben. Ich habe EventEmitter-Klasse in Kind verwendet.Wie Übergeben von Daten untergeordnete Komponente an übergeordnete Komponente in angular2?

error shows in browser devlopers tools

code

+2

Bitte lesen Sie in der Hilfe auf, wie Fragen zu stellen. –

+0

@DarrenSweeney Wenn Sie Fähigkeit haben, dann lösen Sie es. Ich schätze Ihre Abstimmungen. –

Antwort

2

Mutter Vorlage: ...

<child [value]="value" (childEvent) = "parenFunction($event)"> </child> 

//... 

    export class ParenComponent{ 

    value: any={}; 

    ParenFunction(){ 

     console.log(value); 

    } 

} 

Kind

<p (click) = "clickThis"> click </p> 
//... 
@Output() childEvent = new EventEmitter<boolean>(); 
clickThis(){ 

this.childEvent.emit(); 
} 
+0

Es könnte hilfreich sein, eine Erklärung hinzuzufügen, warum dies das Problem behebt. – Toby

+0

@Toby Es tut mir so leid, dass mein Englisch schlecht ist. Ich kann nicht viel schreiben – linhao

0

Genau wie die Fehlerzustände ...

co.onChange ist keine Funktion

Nun, der Fehler korrekt ist, ist es nicht eine Funktion ist. Ihr Name für die Funktion stimmt nicht mit dem Namen in der Komponente überein. In Vorlage haben Sie onChange und in Komponente onchange, so dass Sie entweder ändern müssen.

Ihr Kind Komponente sieht sonst gut, und ich denke, Sie so etwas wie die folgenden in der übergeordneten Komponente haben :)

<my-comp (childeve)="getChildeve($event)"></my-comp> 

getChildeve(value) { 
    console.log(value) 
} 
+0

Problem durch nur Reimportieren von Projekt gelöst ..... aber jetzt ist Frage, warum es erforderlich, Projekt neu importieren ... –

+0

Gut zu hören, aber Sie hatten immer noch eine Diskrepanz der Namen, andere ' onChange' und andere 'onchange', also nehme ich an, dass Sie die Änderung beider Namen jetzt vorgenommen haben? :) – Alex

Verwandte Themen