Nicht in der Lage zu fangen die Ereignisse von EventEmitter in Angular2?

Ich geschrieben habe, ein basic-Winkel-Anwendung, die nutzt die EventEmitter-Klasse, aber ich kann nicht das hören Komponente zum abfangen des Ereignisses.

Hier ist mein code (mit alpha.27 auf Angular2 /Typoskript 1.5 kompilieren zu ES5)
Entschuldigt sich für das ausführliche Beispiel.

Irgendwelche Tipps, was ich falsch mache, was würde sehr geschätzt werden.

import {Component, View, EventEmitter} from 'angular2/angular2';

@Component({
    selector: 'login',
    events : ['loggedIn']
})

@View({
    template: '<button type="button" (click)="submitForm()">Click Me</button>'
})

export class Login {

    loggedIn = new EventEmitter();

    constructor() { 
    }

    submitForm() {
        console.log("event fired");
        this.loggedIn.next({});
    }

}


@Component({
    selector: 'app'
})

@View({
    template: "<div>This is the application</div>"
})

export class App {
    constructor() {

    }
}

@Component({
  selector: 'root'
})

@View({
  template: '<app [hidden]=!showApp></app><login (loggedIn)="loggedIn()" [hidden]=showApp></login>',
  directives: [ App, Login ]
})

export class Root {

    showApp:boolean;

    constructor() { 
        this.showApp = false; 
    }

    loggedIn() { 
        console.log("event caught");
        this.showApp = true; 
    }

}
  • versuchen (^loggedIn)
  • Vielen Dank für Ihre Antwort. Ich habe versucht: (^loggedIn)="loggedIn()" aber das hat nicht das Problem gelöst.
  • könnten wir entfernen diese Frage? es ist ziemlich verwirrend, weil ng2 wurde aktualisiert und jetzt weder die Frage noch die Antwort ist nicht up-to-date
Schreibe einen Kommentar