Angular 2-Version verwendet auszusenden: 2.0.0-alpha.44Wie ein @Output Ereignis in Angular 2
Ich versuche, ein Ausgangssignal von einer Komponente zu emittieren. Ich folgte den Angular docs here .Below der Code meiner Komponente
@Component({
selector: 'summary'
})
@View({
directives: [NgFor, NgIf, ROUTER_DIRECTIVES, LogoutComponent, BarChartDirective, SunburstChartDirective],
templateUrl: 'view/summary-component.html'
})
export class SummaryComponent {
@Output() loadSummary: EventEmitter = new EventEmitter();
project: Project;
data: any;
constructor(public http: Http,
public router: Router,
public xxxGlobalService: XXXGlobalService) {
console.log("SummaryComponent: Created");
this.getSummary()
}
getSummary() {
this.project = this.xxxGlobalService.getOpenedProject();
var url = "/project_summary?username="+ this.xxxGlobalService.getUser().name + "&project_id=" + this.project.id;
this.http.get(url)
.map(res => res.json())
.subscribe(
data => this.extractData(data),
err => this.logError(err),
() => console.log('SummaryComponent: Successfully got the summary')
);
}
extractData(data) {
this.data = data;
console.log("SummaryComponent: Emitting loadSummary event");
this.loadSummary.next("event");
}
}
aber ich bekomme Fehlermeldung, dass „Typeerror: router_1.EventEmitter ist keine Funktion“, wenn ich versuche, die EventEmitter (unterhalb der Linie) zuzuteilen
@Output() loadSummary: EventEmitter = new EventEmitter();
überprüfte ich die link und modifiziert, um die Zeile wie
@Output() loadSummary: EventEmitter;
zu sehen, aber die loadSumm Es scheint überall undefiniert zu sein. Wie wird das Ausgangssignal ausgegeben? Bitte helfen Sie
'EventEmitter' muss von' angular2/angular2' nicht von 'angular2/router' importiert werden. –
@EricMartinez. Danke vielmals. Es funktionierte. –
Für Angular2 Beta 3 importieren Sie EventEmitter von 'angular2/core' –