VUE2
在 Vue 2.x 中,你可以通过 $attrs 属性获取父组件传递给子组件的所有属性(除了 props 和 class / style)。同时,你也可以通过 $listeners 属性获取父组件传递给子组件的所有事件监听器。这个方法的缺点是,你需要手动过滤出那些不是属性或事件监听器的传递值。
获取父组件传递的所有属性
const attrs = this.$attrs
获取vue根实例
this.$root
获取vue父组件实例
this.$parent
VUE3
获取父组件传递的所有属性
组合式api
import { useAttrs } from "vue";
const attrs = useAttrs()
选项式api
import { defineComponent } from 'vue'
export default defineComponent({
setup(props, { attrs }) {
// 可以在这里处理 props 或其他属性
return {
props,
attrs,
}
},
})