当Vue3使用强类型的TypeScript后,props的定义可以有更多姿势。下面就列举一些要点和简单用例。
要点
像Vue2一样的那些定义自然还是OK的,比如Number、String等等
因为有Ts在,Vue3可以有更方便、快捷的复杂类型定义
简单用例
比如说现在需要定义一个string[]的prop,那么就像下面这样写
defineProps({ acb: Array as () => string[] })
同样地,如果想定义一个类似{name: string, age: number}这样的,可以如下这样写
defineProps({ abc: Object as () => ({name: string, age: number}) })
当然,你也可以把类型分离出去,像这样
type TAbc = { name: string age: number } defineProps({ abc: Object as () => TAbc })
函数自然也是可以的,可以像这样
import {PropType} from "vue"; type TFunction = (args?: string[]) => string defineProps({ abc: Function as PropType<TFunction> })
这里使用了vue提供的PropType,前面提到的那几个定义使用PropType来实现当然也是可以的
本文参考:https://www.cnblogs.com/noah227/p/17171241.html
本站文章除注明转载/出处外,均为原创,若要转载请务必注明出处。转载后请将转载链接通过邮件告知我站,谢谢合作。本站邮箱:admin@only4.work
尊重他人劳动成果,共创和谐网络环境。点击版权声明查看本站相关条款。