小墨の博客

梦想需要付诸行动,否则只能是梦

Vue3 setup 写法 TypeScript defineProps 自定义类型

当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

尊重他人劳动成果,共创和谐网络环境。点击版权声明查看本站相关条款。

    发表评论:

    搜索
    本文二维码
    标签列表
    站点信息
    • 文章总数:557
    • 页面总数:20
    • 分类总数:96
    • 标签总数:215
    • 评论总数:69
    • 浏览总数:330009

    | | |
    | |  Z-Blog PHP