如何在 VueJS 中侦听来自一个组件的所有事件? [英] How listen to all events from one component in VueJS?

查看:32
本文介绍了如何在 VueJS 中侦听来自一个组件的所有事件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Vue 中是否有可能以与此类似的方式处理一个函数内的传入事件?

Is there a possibility in Vue to deal with incoming events inside one function in a way similar to this?

<template>         
    <component v-on="eventsDistributor(eventName, $event)"/>                                                                 
</template>                                                                   
<script>                                                                      
export default {                                                                      
  props: {
      handlers: Object,
  },
  methods : {                                                                 
      eventsDistributor (name, $event) {                            
          let handler = this.handlers[name]
          if (handler) return handler($event)
      }                                                                       
  }                                                                           
}                                                                             
</script>                                                                     

推荐答案

我认为 $listeners 可能正是您所需要的.它是一个包含所有父级侦听器的对象,它可以通过 v-on="$listeners" 转发给子级.

I think $listeners might be what you need. It's an object that contains all parent listeners, and it could be forwarded to children with v-on="$listeners".

例如,您有一个

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆