【笔记】vue3.2 props在组件中的应用
在vue3.x中,props是在setup外定义,以setup(props)的形式应用的,那么在vue3.2中该如何使用props呢?在vue3.2中,提供了一个defineProps语法糖用于定义props,先上例子。<script setup>import { onMounted } from 'vue'const props = defineProps({customStr: {
·
在vue3.x中,props是在
setup
外定义,以setup(props)
的形式应用的,那么在vue3.2中该如何使用props呢?
在vue3.2中,提供了一个defineProps
语法糖用于定义props,先上例子。
<script setup>
import { onMounted } from 'vue'
const props = defineProps({
customStr: {
type: String,
default: ''
},
customObj: {
type: Object,
default: () => {
return {}
}
}
})
onMounted(() => {
console.log(props.customObj)
})
</script>
<template>
{{ props.customStr }}
</template>
从我上面的例子里可以看出,props需要用defineProps
来定义,然后在使用时直接props.
就可以使用了,那么还需要注意的点是:
defineProps
可以不要import
,但是eslint可能会检测到defineProps
未定义,这种情况下可以直接import { defineProps } from 'vue'
来解决- 在模板中也需要用
props.
- 例子中的写法是
js
的写法,对ts
写法感兴趣的同学可以去看官方文档,这里也提供一个小例子
<script setup lang="ts">
const props = withDefaults(defineProps<{
customStr?: string
}>(), {
customStr: 'Hello World!'
});
</script>
例子中的withDefaults
是给变量赋初始值用的,在vue的官方文档中也有介绍。
更多推荐
已为社区贡献10条内容
所有评论(0)