reactive<类型>({
})
defineProps
import {defineProps} form 'vue'
import {type persons} from '@/types'
let props = defineProps<{list?: Persons}>(['a'])
withDefaults给默认值
import {defineProps,withDefaults} form 'vue'
import {type persons} from '@/types'let props = withDefaults(defineProps<{list?: Persons}>(),{list: () => [{id:1}]})
Vue3 中宏函数不拥引入,有以下几种属性或函数不需要手动引入即可直接使用:
defineProps:- 用于在单文件组件(SFC)的
<script setup>语法中声明接收来自父组件的props。 - 不需要导入就可以直接调用。
- 用于在单文件组件(SFC)的
defineEmits:- 同样是在
<script setup>语法中声明组件将要触发的自定义事件。 - 也不需要导入就能直接使用。
- 同样是在
setup函数:- 在 SFC 的
<script>标签内可以直接使用setup函数来编写 Composition API,无需引入。
- 在 SFC 的
- 组件内的模板引用变量(例如
ref和reactive创建的对象):- 在
<script setup>语法下,模板内部可以直接访问通过ref、reactive等创建的响应式对象,无需显式导出。
- 在
- 非组合式API中的生命周期钩子:
- 在常规的选项式API中,生命周期钩子如
beforeCreate、created、mounted等都是 Vue 提供的内置方法,不需要额外引入。
- 在常规的选项式API中,生命周期钩子如
onMounted、onUpdated、onUnmounted等:- 在Composition API中,这些是Vue提供的用于替代传统生命周期钩子的函数,它们同样不需要引入,可以直接在
setup函数内部使用。
- 在Composition API中,这些是Vue提供的用于替代传统生命周期钩子的函数,它们同样不需要引入,可以直接在
<script setup>内部模板作用域的变量和函数:- 在
<script setup>内声明的变量和函数,在模板中可以自动访问,前提是它们被正确地暴露给模板(比如通过defineExpose)。
- 在