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

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

WBOY
發布: 2023-05-13 14:46:06
轉載
1120 人瀏覽過

    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 支援裡已經告訴我們了一個取得元件類型的方法,InstanceType

    使用方式如下:

    const $userForm = ref<InstanceType<typeof userForm>>();
    登入後複製

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

    相關標籤:
    來源:yisu.com
    本網站聲明
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
    熱門教學
    更多>
    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板