2017-03-23 67 views
0

我試圖檢測菜單關閉時取消設置值,我一直在使用關閉,看起來像這樣。Angular2 Material2綁定到onMenuClose

<md-menu #dataActions="mdMenu" (onMenuClose)="alert('a')"> 
    <button md-menu-item (click)="doEdit()" *ngIf="!isLocked()"> 
     <md-icon>edit</md-icon> 
     <span>Edit</span> 
    </button> 
    <button md-menu-item (click)="doSubmit()" *ngIf="isEdit()"> 
     <md-icon>done</md-icon> 
     <span>Submit</span> 
    </button> 
</md-menu> 

我可以告訴我綁定的東西存在,因爲它不會引發錯誤...然而,當關閉事件中運行它從來沒有註冊到實際的事件。有沒有人有任何想法?或者這是一個材料錯誤?

+0

也許嘗試在您的打字稿文件中使用函數而不是使用'alert()'?像'doSomething:void {alert('a')}' – Edric

+0

我最初是用ts函數開始的,並沒有被調用。所以我試着警惕然後來發布這個。但是你能確認我做得對嗎? –

回答

0

有一些小問題,onMenuClose事件觸發在與mdMenuTriggerFor ...相同的級別上,因此綁定需要位於調用項目上,而不是菜單本身。正如@Edric所說,它必須是一個打字稿功能,而不是一般的警報。這是另一個可用的代碼片段:

<md-icon [mdMenuTriggerFor]="dataActions" (onMenuOpen)="actionMenuOpen(row)" (onMenuClose)="actionMenuClose()" fxFill fxLayoutAlign="center"> 
    menu 
</md-icon> 

<md-menu #dataActions="mdMenu"> 
    <button md-menu-item (click)="doEdit()" *ngIf="!isLocked()"> 
     <md-icon>edit</md-icon> 
     <span>Edit</span> 
    </button> 
    <button md-menu-item (click)="doSubmit()" *ngIf="isEdit()"> 
     <md-icon>done</md-icon> 
     <span>Submit</span> 
    </button> 
</md-menu>