如何在VueJS中将所有事件传递给父级

Fel*_*ich 4 vue.js

传递道具

VueJS中,如果您设置inheritAttrsfalse并使用,v-bind="$attrs"则会将组件中未声明的所有 props 传递给其子组件。在VueJS中是否有类似的方法将来自子级的所有事件传递给其父级?

代码示例

包装纸

<template>
  <child-component v-bind="$attrs" />
</template>

<script>
module.exports = {
  inheritAttrs: false
  ...
}
</script>
Run Code Online (Sandbox Code Playgroud)

孩子

<template>
  ...
</template>

<script>
module.exports = {
  ...
  props: {
    prop1: Boolean,
    prop2: Boolean
  }
  ...
}
</script>
Run Code Online (Sandbox Code Playgroud)

家长

<template>
  <wrapper :prop1="false" :prop2="true" />
  ...
</template>
Run Code Online (Sandbox Code Playgroud)

Ana*_*oly 16

要传递所有事件,请使用

v-on="$listeners"
Run Code Online (Sandbox Code Playgroud)

对于 Vue 3.x:

v-bind="$attrs"
Run Code Online (Sandbox Code Playgroud)

查看已删除的侦听器
(感谢 AverageHelper)