#取得元件類型的方法
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 實例,就需要在ref 函式的泛型中指定型別。
vue 官方文件中 TypeScript 支援裡已經告訴我們了一個取得元件類型的方法,InstanceTypeae89742361c1c835ecb17b6a77db4e36
使用方式如下:
const $userForm = ref<InstanceType<typeof userForm>>();
以上是VUE3+TS取得元件類型遇到的坑怎麼解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!