2017-09-21 57 views
-1

我試圖使用@Output指令來通知父組件當按鈕被單擊子組件。以下是我的代碼:Angular - @Output不工作

父視圖

<app-perito-select *ngIf="peritoSelect" (cancel)="cancelPeritoAction()"></app-perito-select> 

父控制器

... 
cancelPeritoAction(){ 
    console.log('cancel inside parent'); 
    this.selectedAction = undefined; 
    } 

子控制器

... 
@Output() cancelAction: EventEmitter<any> = new EventEmitter<any>(); 
... 
cancel(){ 
    console.log('cancel inside child'); 
    this.cancelAction.emit(); 
    } 

我跟着this教程,它看起來很簡單,但我沒有達到父功能。我錯過了什麼?謝謝。

回答

4

嘗試

(cancelAction)="cancelPeritoAction()" 

更換

(cancel)="cancelPeritoAction()" 

因爲你@Output事件的名稱爲cancelAction

1

你就可以把它作爲你一個字符串參數重命名你的外部輸出特性想保留(取消)作爲用法:

@Output('cancel') cancelAction: EventEmitter<any> = new EventEmitter<any>();