Vue3 Ts 如何获取组件的类型

vue3 Ts ref 子组件

1、默认写法

typeof:获取ts类型

InstanceType:获取模版的实例

vue 复制代码
<tempolate>
  <myComponent ref="myCompRef">
</tempolate>

<script setup lang="ts">
import { ref } from "vue"
import myComponent "@/compoments/myComponent"

const myCompRef = ref<InstanceType<typeof myComponent>>()
</script>
2、封装后

abstract:定义抽象类

"_":命名规范,参数名前添加下划线,表示该参数本身是不使用的,取消参数没有使用的警告

ts 复制代码
import { ref } from "vue"

export function useCompRef<T extends abstract new (...args: any) => any> (_comp: T){
	return ref<InstanceType<T>>()
}
vue 复制代码
<tempolate>
  <myComponent ref="myCompRef">
</tempolate>

<script setup lang="ts">
import { useCompRef } from "@/utils/useCompRef"
import myComponent "@/compoments/myComponent"

const myCompRef = useCompRef(myComponent)
</script>
相关推荐
小KK_4 分钟前
新手必看篇——JS类型判断
前端·javascript
小小高不懂写代码11 分钟前
Vibe Coding时代的自我鞭策
前端·人工智能
喵个咪16 分钟前
基于 Nuxt 4 的现代 Headless CMS 前端:架构深度解析与二次开发指南
前端·vue.js·nuxt.js
AI科技星18 分钟前
万有引力G与真空介电常数ε0全维度完整关系式汇编(基于v=c螺旋时空理论)
c语言·开发语言·前端·javascript·网络·汇编·electron
喵个咪25 分钟前
基于 Next.js 的 Headless CMS 前端架构:技术解析与二次开发导引
前端·react.js·next.js
阿白同学10545128 分钟前
一座前端文明的地层:React 源码考古报告
前端
七牛云行业应用28 分钟前
别手搓多Agent了!Codex Windows版用Git Worktree并行跑代码,真的香
前端
前端环境观察室28 分钟前
指纹浏览器都用了,为什么任务还是要人盯着?
前端
lichenyang45335 分钟前
鸿蒙聊天 Demo 练习 11:路由拦截器 + dialog 路由 + 页面生命周期
前端
铁皮饭盒38 分钟前
Bun 提供了许多 Node.js 原生没有的专属 API
前端·后端