vue3的props的具体使用方法
Vue3中的props使用方法与Vue2相比有一定的变化和优化。
- 定义props
在Vue3中,我们可以使用defineProps来定义props,如下:
import { defineComponent, defineProps } from 'vue'
export default defineComponent({
props: defineProps({
// props定义
}),
setup(props) {
// props使用
}
})
可以看到,Vue3中我们使用defineProps来定义props,而不是在props选项中直接定义。这样做的好处是可以更加明确地定义props的类型和默认值。
- props验证
在Vue3中,我们可以使用PropType来定义props的类型。如下:
import { defineComponent, defineProps, PropType } from 'vue'
export default defineComponent({
props: defineProps({
name: {
type: String,
required: true
},
age: {
type: Number,
default: 18
},
gender: {
type: String as PropType<'male' | 'female'>,
default: 'male'
}
}),
setup(props) {
// props使用
}
})
可以看到,我们可以在defineProps中定义props的类型和默认值,并且可以使用PropType来定义更加复杂的类型,如枚举类型。
- props传递
在Vue3中,我们可以使用v-bind来传递props,如下:
<template>
<child-component v-bind="props"></child-component>
</template>
<script>
import { defineComponent, defineProps } from 'vue'
import ChildComponent from './ChildComponent.vue'
export default defineComponent({
components: {
ChildComponent
},
setup() {
const props = defineProps({
// props定义
})
return {
props
}
}
})
</script>
可以看到,我们可以使用v-bind来传递props,而且可以使用defineProps来定义props并在setup函数中使用。
原文地址: https://www.cveoy.top/t/topic/bFkF 著作权归作者所有。请勿转载和采集!