问题描述:
一个Icon点击出现菜单,点击菜单区域外任何区域菜单收起。
何为优雅的去解决上述问题?
- 尽可能的采用vue来解决问题
- 尽可能少的与原生对象发生交互
- 代码干净、易懂
问题解决思路:
- 通过Vue的v-show指令决定菜单的显示、隐藏。
- 通过document的全局点击事件判断是否该收起
- 需要优雅的解决几个问题:
- 禁止点击事件冒泡。采用VUE的@click.stop来解决问题,请参考下方代码
- 优雅且安全的移除全局事件监听(只有菜单弹出的时候才去监听)
document的事件添加
HTML
按钮
Javascript
总结
以上所述是小编给大家介绍的Vue 实现显示/隐藏层的思路(加全局点击事件),希望对大家有所帮助!



