我的问题是关于Maquette Javascript框架中组件之间的通信。
想象一下,我在Application组件中使用了一个Menu子组件:Application实例将……
我们通常做的是将回调传递给在单击项目时调用的组件。可以使用回调构建菜单 menuItemClicked(menuItem: MenuItem) 例如。 Imho这不会将任何特定于应用程序的知识泄漏到菜单/ menuitem中。菜单的创建者可以在回调中执行任何操作,例如路由或更改变量。
menuItemClicked(menuItem: MenuItem)
事件系统当然也是可能的。我建议不要使用DOM层次结构来冒泡。我可以想象 Application 使用创建菜单 menu = createMenu(...) 然后打电话 menu.addEventListener('itemClicked', navigate) 或者其他的东西。
Application
menu = createMenu(...)
menu.addEventListener('itemClicked', navigate)