vue 2 父组件根据注册事件,控制相关按钮显隐

51 阅读1分钟

目标效果

我不注册事件,那么就不显示相关的按钮

在这里插入图片描述

注册了事件,才会显示相关内容

在这里插入图片描述

实现思路

  • 组件在 mounted 的时候可以拿到父组件注册监听的方法

在这里插入图片描述 拿到这个就可以做事情了

mounted() {
  console.log('this.$listeners', this.$listeners);
  this.show.search = !!this.$listeners['handleSearch'];
  this.show.refresh = !!this.$listeners['handleRefresh'];
  this.show.add = !!this.$listeners['handleAdd'];
}

判断事件是否注册,来渲染相应的组件