0
我有一个边栏菜单组件,其中包含一个用于保存菜单中项目的服务。然后多个来源可以根据他们认为合适的方式改变菜单。在Typescript中定义对象回调的最佳方法?
目前每个项目实现SidebarItem:
export interface SidebarItem {
name: string,
link: Route|string,
icon ?: string
}
但是我能赶上某些事件(点击,悬停),并希望有一个选项来定义侧边栏上的项目本身的回调。
我想知道完成此操作的最佳方法。我应该在界面上定义两个属性,让每个人决定他们如何实现它,或者有什么选择吗?我不认为侧边栏项目可以是类,因为我不想为每个侧边栏项目添加一个新类。
如果有帮助,我也可以使用aurelia事件聚合器发送事件。
PS:如果这感觉很主观,只需将标题改为“How to”即可。我提出的方法是疯狂的猜测,我不认为这是正确的。
目前还不清楚你在问什么。你在问如何在这个接口中包含对回调函数的引用吗? –
有一件事可能是提供不需要实现的约定方法(=>不要将它们放在界面中),但是如果您需要该功能,则必须实现它们。与Aurelia组件生命周期方法相比(附加,绑定等)。他们不是必需的,但是如果你想在组件被连接之前做一些事情,你必须实现这个方法。 –
@NitzanTomer对不起,如果这不清楚。我们以Angular 2组件为例。你可以创建一个组件类,但是当组件被销毁时你可能需要做些什么。 Angular 2的方法是,在组件上实现_OnDestroy_接口,然后在该类上实现一个ngOnDestroy()方法。 我的问题是类似的。例如,当用户点击菜单中的“取消帐户”按钮时,我想显示可确认的对话框。 1/2 – marekpw