父子组件中$attrs和$listeners使用
时间: 2024-06-03 18:10:39 浏览: 162
12.(vue3.x+vite)组件间通信方式之$attrs与$listeners.rar
的场景及作用是什么?
$attrs 和 $listeners 属性是 Vue.js 框架中的两个特殊的对象,它们被用于父子组件之间的通信。$attrs 对象包含了父组件向子组件传递的所有属性和值,这些属性和值都不是子组件自己定义的 props。$listeners 对象包含了父组件向子组件传递的所有事件和方法,这些事件和方法都不是子组件自己定义的事件和方法。
$attrs 对象通常被用于传递样式和 class 等非 props 属性,而 $listeners 对象通常被用于传递事件和方法。对于父组件传递的非 props 属性,子组件可以使用 v-bind 将它们绑定到自己的元素上,对于父组件传递的事件和方法,子组件可以使用 v-on 将它们注册到自己的元素上。在父子组件之间传递 $attrs 和 $listeners,能够实现父子组件的解耦,从而提高组件的重用性和可维护性。
阅读全文