vue中$attr和$listener的使用方法
时间: 2023-06-05 10:07:21 浏览: 231
$attr和$listener.xmind
$attrs 和 $listeners 是 Vue 2.x 版本中常用的两个属性。
$attrs :包含了父作用域中不被 prop 所识别 (且获取) 的特性绑定 (class 和 style 除外)。当一个组件没有声明任何 prop 时,这里会包含所有父作用域的绑定 (class 和 style 除外),并且可以通过 v-bind="$attrs" 传入内部组件——在创建高级别的组件时非常有用。
$listeners : 包含了父作用域中绑定的 (不含 .native 修饰器的) 事件监听器。它可以通过 v-on="$listeners" 传入内部组件——在创建更高层次的组件时非常有用。
示例代码如下:
<template>
<div>
<child-component v-bind="$attrs" v-on="$listeners"></child-component>
</div>
</template>
在这个例子中,我们通过 v-bind="$attrs" 将 $attrs 传入子组件,这样子组件就能得到父组件的所有特性绑定。通过 v-on="$listeners" 将 $listeners 传入子组件,子组件就能获取到父组件的所有事件监听器。
阅读全文