#VUE3 TS コンポーネント タイプの取得方法の落とし穴
コンポーネント タイプの取得方法
const AccountRef = ref<InstanceType<typeof LoginAccount>>()
ログイン後にコピー
遭遇した落とし穴
typeof LoginAccount が赤い線のプロンプト エラーを報告し続ける
LoginAction: () => vo...' provides no match for the signature 'new (...args: any): any'.
ログイン後にコピー
問題の原因
ウェブストーム コーディングを使用し、ウェブストーム独自の右クリックで新しい vue ファイルを作成しましたが、作成されたファイルには結果として、常に
<script lang="ts">
export default {
}
</script>
ログイン後にコピー
Solution
Reference defineComponent
<script lang="ts">
import { defineComponent } from 'vue'
export default defineComponent({//注意这里的这个小括号不能漏
})
</script>
ログイン後にコピー
VUE3 をレポートする上の赤い線が表示されます。TS はコンポーネント ref インスタンスを取得します
使用する場合vue3 と ts では、コンポーネントの ref インスタンスを取得するには、ref 関数のジェネリック型で型を指定する必要があります。
コンポーネントのタイプを取得するにはどうすればよいですか?
vue の公式ドキュメントの TypeScript サポートにより、コンポーネントのタイプを取得する方法が示されています。InstanceType<コンポーネント名のタイプ>
使用方法は次のとおりです:
const $userForm = ref<InstanceType<typeof userForm>>();
ログイン後にコピー
以上がコンポーネント タイプを取得する際に VUE3+TS が遭遇する落とし穴を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。