[英]How to emit a @Output event in Angular 2
使用Angular 2版本:2.0.0-alpha.44
我試圖從組件發出輸出信號。 我在這里關注了Angular文檔.Below是我的組件的代碼
@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");
}
}
但是,當我嘗試分配EventEmitter(下面的行)時,我收到錯誤說“TypeError:router_1.EventEmitter不是函數”
@Output() loadSummary: EventEmitter = new EventEmitter();
我檢查了鏈接並修改了線條
@Output() loadSummary: EventEmitter;
但loadSummary似乎始終未定義。 如何發出輸出信號? 請幫忙
從beta.0開始(可能更早), EventEmitter
現在處於angular2/core
。
使用emit()
發出事件:
@Output() loadSummary: EventEmitter<any> = new EventEmitter();
...
this.loadSummary.emit("event");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.