vue组件上如何监听原生事件

该文章由 leevare 发布于 ,归类于 Javascript

例如如下的一个组件,我想监听点击事件

<some-component @click="handleClick"></some-component>

但是这样做的话,并不能触发click事件。

在vue中提供了一个$listeners属性,可以获取到组件上的所有事件监听,所以需要进行一些如下处理

<template>
  <div v-on="eventListeners">
    <!--some code here-->
  </div>
</template>
<script>
export default {
  computed: {
    eventListeners() {
      return Object.assign({}, this.$listeners);
    },
  },
};
</script>

这里使用计算属性,将父级的所有事件监听传递到当前的组件中,在当前组件完成监听,这样使用起来就和在父组件上监听事件没什么区别了。

如果觉得我的文章对您有用,请您随意打赏。您的支持将鼓励我更加努力创作!

相关文章:

说点什么

avatar
300
  Subscribe  
提醒