Vue3_透传 Attributes

什么是透传Attributes

透传属性指的是 没有被该组件声明为props或emits的属性或v-on事件监听器,eg:class、style、id...

在 JavaScript 中访问透传 Attributes

// 使用useAttrs() API来访问一个组件的所有透传属性
<script setup>
import { useAttrs } from 'vue'

const attrs = useAttrs()
</script>

// 使用setup(props, ctx),attrs作为setup()上下文对象的一个属性暴露
export default {
  setup(props, ctx) {
    // 透传 attribute 被暴露为 ctx.attrs
    console.log(ctx.attrs)
  }
}

attrs 对象总是反映为最新的透传 attribute

参考:
https://juejin.cn/post/6865451649817640968#heading-3
https://cn.vuejs.org/guide/components/attrs.html

posted @ 2024-12-13 17:11  Felix_Openmind  阅读(7)  评论(0编辑  收藏  举报