一、defineOptions
1.defineOptions的基本定义;
-
在<script setup>语法糖中,无法使用定义组件的一些属性,如 name 属性等,于是引入了defineOption宏;
<script setup>
import { defineOptions } from 'vue'
defineOptions({
// 组件命名
name: 'Foo',
// 透传
inheritAttrs: false,
// 其他定义属性
})
</script>
2.inheritAttrs透传属性;
-
在Vue中,如果在组件标签上添加属性,则会被透传到组件的根标签上;
-
在Vue3中,组件的根标签可以存在多个,如果根标签存在多个,那么透传将失效;
-
不希望组件存在透传行为,我们可以通过配置 inheritAttrs: false 进行关闭;
<!-- App.vue 的代码 -->
<script setup>
import Child from './components/Child.vue';
</script>
<template>
<Child class="appClassName" /&