首頁 >web前端 >Vue.js >VUE3+TS取得元件類型遇到的坑怎麼解決

VUE3+TS取得元件類型遇到的坑怎麼解決

WBOY
WBOY轉載
2023-05-13 14:46:061121瀏覽

    VUE3 TS取得元件類型的方法踩坑

    #取得元件類型的方法

    const AccountRef = ref<InstanceType<typeof LoginAccount>>()

    遇到的坑

    typeof LoginAccount一直報紅線提示錯誤

    LoginAction: () => vo...&#39; provides no match for the signature &#39;new (...args: any): any&#39;.

    問題原因

    使用的是webstorm codeing,透過webstorm自帶右鍵新建vue文件,創建出來的文件是不帶defineComponent的,所以導致上述的一直報紅線

    <script lang="ts">
    export default {
    
    }
    </script>

    解決辦法

    引用defineComponent

    <script lang="ts">
    import { defineComponent } from &#39;vue&#39;
    export default defineComponent({//注意这里的这个小括号不能漏
    
    })
    </script>

    VUE3 TS取得元件ref實例

    使用vue3 和ts 時,為了取得元件ref 實例,就需要在ref 函式的泛型中指定型別。

    如何取得元件的型別呢?

    vue 官方文件中 TypeScript 支援裡已經告訴我們了一個取得元件類型的方法,InstanceTypeae89742361c1c835ecb17b6a77db4e36

    使用方式如下:

    const $userForm = ref<InstanceType<typeof userForm>>();

    以上是VUE3+TS取得元件類型遇到的坑怎麼解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!

    陳述:
    本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除