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
)。
- 在