在Typescript中定义对象回调的最佳方法是什么?

时间:2017-05-04 23:41:45

标签: javascript typescript interface aurelia

我有一个侧边栏菜单组件,其中包含一个包含菜单中项目的服务。然后,多个来源可以根据需要更改菜单。

目前每个项目都实现了SidebarItem:

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

但是我可以捕获某些事件(单击,悬停),并且希望有一个选项来定义侧栏项本身的回调。

我想知道实现这一目标的最佳方法。我应该在界面上定义两个属性,让每个人决定如何实现它,还是有任何选择?我不认为侧边栏项目可以是课程,因为我不想为每个侧边栏项目添加新课程。

如果有帮助,我也可以使用aurelia事件聚合器调度事件。

PS:如果这感觉是主观的,只需阅读标题为"如何"代替。我提出的方法是一个疯狂的猜测,我不认为它是正确的。

1 个答案:

答案 0 :(得分:0)

我最终在界面上使用以下语法:

onClick?: (e: MyEvent) => void

感谢Nitzan Tomer的评论。