对于Material Design Web组件的菜单组件,如何捕获;MDC菜单:已选择";JavaScript中的事件?

对于Material Design Web组件的菜单组件,如何捕获;MDC菜单:已选择";JavaScript中的事件?,javascript,html,vue.js,events,mdc-components,Javascript,Html,Vue.js,Events,Mdc Components,我正在使用 启动菜单后,我需要能够方便地处理“选择”菜单项的所有方式。通过我的框架的模板语言(vue)添加点击操作是可行的,但是,为输入键和其他键添加方法是不可行的。例如: <li v-for="option in options" :key="option" class="mdc-list-item" @click="onChange(option)" // this works @keyup.enter="onChange(option)"

我正在使用

启动菜单后,我需要能够方便地处理“选择”菜单项的所有方式。通过我的框架的模板语言(vue)添加点击操作是可行的,但是,为输入键和其他键添加方法是不可行的。例如:

  <li
    v-for="option in options"
    :key="option"
    class="mdc-list-item"
    @click="onChange(option)" // this works
    @keyup.enter="onChange(option)" //this doesn't work
    role="menuitem">
这导致了大量未定义的
错误,这很奇怪,因为我可以访问
this.menu.root
并且它似乎是一个DOM元素

我也试过:

this.menu = new MDCMenu(this.$refs.menu);
this.menu.addEventListener(
  'MDCSimpleMenu:selected', ()=>{console.log('HELLOOOOOO')});
这引发了一个错误,说明
addEventListener
不是此菜单上存在的函数

我已经搜索了源代码,但没有找到任何关于事件处理或发射的明显信息


如何捕获
MDCMenu:selected
事件?

该函数显然被称为
listen
,并将完整的字符串事件名称作为第一个参数,将被调用的函数作为第二个参数

 this.menu.listen('MDCMenu:selected',()=>{
   console.log('hi');
 });

我猜,这在我能找到的任何地方都没有记录。如果有人能找到文件,我会接受这个答案

谢谢你的解决方案。但令人遗憾的是,他们没有任何文档:(
 this.menu.listen('MDCMenu:selected',()=>{
   console.log('hi');
 });