2023VUE3+TS获取组件类型遇到的坑怎么解决

 所属分类:web前端开发

 浏览:167次-  评论: 0次-  更新时间:2023-05-14
描述:更多教程资料进入php教程获得。 VUE3+TS获取组件类型的方法踩坑获取组件类型的方法const AccountRef = ref<InstanceType<typeof LoginA...
更多教程资料进入php教程获得。

    VUE3+TS获取组件类型的方法踩坑

    获取组件类型的方法

    const AccountRef = ref<InstanceType<typeof LoginAccount>>()
    登录后复制

    遇到的坑

    typeof LoginAccount一直报红线提示错误

    LoginAction: () => vo...' provides no match for the signature 'new (...args: any): any'.
    登录后复制

    问题原因

    使用的是webstorm codeing,通过webstorm自带右键新建vue文件,创建出来的文件是不带defineComponent的,所以导致上述的一直报红线

    <script lang="ts">
    export default {
    
    }
    </script>
    登录后复制

    解决办法

    引用defineComponent

    <script lang="ts">
    import { defineComponent } from 'vue'
    export default defineComponent({//注意这里的这个小括号不能漏
    
    })
    </script>
    登录后复制

    VUE3+TS获取组件ref实例

    使用 vue3 和 ts 时,为了获取 组件 ref 实例,就需要在 ref 函数的泛型中指定类型。

    如何获取组件的类型呢?

    vue 官方文档中 TypeScript 支持里已经告诉我们了一个获取组件类型的方法,InstanceType<typeof 组件名称>

    使用方式如下:

    const $userForm = ref<InstanceType<typeof userForm>>();
    登录后复制

    以上就是VUE3+TS获取组件类型遇到的坑怎么解决的详细内容,更多请关注zzsucai.com其它相关文章!

     标签: Vue3,ts,
    积分说明:注册即送10金币,每日签到可获得更多金币,成为VIP会员可免金币下载! 充值积分充值会员更多说明»

    讨论这个素材(0)回答他人问题或分享使用心得奖励金币

    〒_〒 居然一个评论都没有……

    表情  文明上网,理性发言!