首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何关闭vue-material md-menu?

如何关闭vue-material md-menu?
EN

Stack Overflow用户
提问于 2018-08-02 16:18:31
回答 1查看 289关注 0票数 1

我想在md-menu组件上的mouseleave事件上调用close。我使用的是0.7.4版本的vue-material库,使用this documentation时,它表示有一个close方法。

如何调用此方法?我尝试过以下几种方法:

代码语言:javascript
复制
<md-menu md-size="1" ref="aRef" id="aRef">
  <div @mouseleave="this.$refs['aRef'].close()">
  ...other stuff...
</md-menu>

当我运行这段代码时,我得到一个错误消息:

代码语言:javascript
复制
Uncaught TypeError: Cannot read property 'aRef' of undefined

我猜这与组件在创建时不可用有关。这样做的正确方法是什么?

我应该说,md-menu实际上嵌套在另一个md-menu中(从功能的角度来看,这似乎工作得很好)。不确定这会不会搞乱事件层次结构。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-26 16:33:35

当我试图解决另一个问题时,我偶然发现了这个问题的解决方案(如何在打开另一个菜单之前关闭任何其他菜单)。

你的问题是你不能在html模板中内联使用this。您需要将事件发送到一个方法,然后调用它...

代码语言:javascript
复制
<md-menu 
    ref="aRef"
    @mouseleave="closeMenu"
>
    // menu contents

</md-menu>

然后在您的脚本部分中:

代码语言:javascript
复制
methods: {
    closeMenu() {
        this.$refs['aRef'].close();
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51648804

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档