2017-05-04 25 views
0

我有一個邊欄菜單組件,其中包含一個用於保存菜單中項目的服務。然後多個來源可以根據他們認爲合適的方式改變菜單。在Typescript中定義對象回調的最佳方法?

目前每個項目實現SidebarItem:

export interface SidebarItem { 
    name: string, 
    link: Route|string, 
    icon ?: string 
} 

但是我能趕上某些事件(點擊,懸停),並希望有一個選項來定義側邊欄上的項目本身的回調。

我想知道完成此操作的最佳方法。我應該在界面上定義兩個屬性,讓每個人決定他們如何實現它,或者有什麼選擇嗎?我不認爲側邊欄項目可以是類,因爲我不想爲每個側邊欄項目添加一個新類。

如果有幫助,我也可以使用aurelia事件聚合器發送事件。

PS:如果這感覺很主觀,只需將標題改爲「How to」即可。我提出的方法是瘋狂的猜測,我不認爲這是正確的。

+0

目前還不清楚你在問什麼。你在問如何在這個接口中包含對回調函數的引用嗎? –

+0

有一件事可能是提供不需要實現的約定方法(=>不要將它們放在界面中),但是如果您需要該功能,則必須實現它們。與Aurelia組件生命週期方法相比(附加,綁定等)。他們不是必需的,但是如果你想在組件被連接之前做一些事情,你必須實現這個方法。 –

+0

@NitzanTomer對不起,如果這不清楚。我們以Angular 2組件爲例。你可以創建一個組件類,但是當組件被銷燬時你可能需要做些什麼。 Angular 2的方法是,在組件上實現_OnDestroy_接口,然後在該類上實現一個ngOnDestroy()方法。 我的問題是類似的。例如,當用戶點擊菜單中的「取消帳戶」按鈕時,我想顯示可確認的對話框。 1/2 – marekpw

回答

0

我結束了在該接口上下面的語法去:

onClick?: (e: MyEvent) => void

由於Nitzan託梅爾中的註釋。

相關問題