Skip to content

useAttrs

  • 作用:获取组件的属性
  • 使用:方便封装自定义组件
  • 优先级:props>useAttrs,如果 props 接收了属性,useAttrs()就获取不到此属性

案例

  • 父组件
vue
<template>
	<div class="father">
		<h2>我是父组件</h2>
		<TestButton
			type="primary"
			size="small"
		></TestButton>
	</div>
</template>
ts
<script lang="ts" setup>
import TestButton from './TestButton'
</script>
  • 子组件 TestButton
vue
<template>
	<div class="son">
		<!-- 基于v-bind绑定所有属性 -->
		<div :="$attrs">按钮</div>
		<!-- 单个绑定属性 -->
		<div
			:type="$attrs.type"
			:size="$attrs.size"
		>
			按钮
		</div>
	</div>
</template>
ts
<script lang="ts" setup>
import { useAttrs } from "vue";
let $attrs = useAttrs();
console.log($attrs)
</script>