初学vue3与ts:获取组件ref实例

typescript 复制代码
/**
 * 获取组件ref
 * @param {VueComponentIns} 组件实例
 * @returns 组件ref
 */
// eslint-disable-next-line
export function useCompRef<T extends abstract new (...args: any) => any>(_: T) {
	return ref<InstanceType<T>>();
}

使用

html 复制代码
<a-com ref="aComRef"></a-com>
<script lang="ts" setup>
import ACom from '@/components/a-com.vue';
//引入
import { useCompRef } from '@/sss/useRefs';
const aComRef = useCompRef(ACom);
//调用组件里的函数,比如说这个组件是一个弹窗,那么打开弹窗
const openCom = () => {
	aComRef.value?.open();
};
</script>
相关推荐
YIAN几秒前
告别等后端!React+Vite 前端独立开发全流程:接口封装 + Mock 方案 + 状态管理
前端·react.js·vite
PedroQue995 分钟前
@meng-xi/vite-plugin v1.3.0:generateUni 一键流水线
前端·vite
胡萝卜术5 分钟前
权限系统的四道防线:从数据库事务锁到操作级保护规则的完整设计
前端·javascript·面试
IMPYLH5 分钟前
HTML 的 <legend> 元素
java·前端·html
今日无bug8 分钟前
从同步阻塞到 async/await:一文梳理 JS 异步流程控制的进化史
javascript·promise
真夜9 分钟前
RN热更新安全问题
前端·react native
Zeroplucky9 分钟前
Binder 线程池耗尽案例:持锁同步调用 VHAL 导致 SystemUI 卡顿或 ANR
前端
xiaominlaopodaren9 分钟前
three.js最小地图运行时(八): 瓦片调试网格
javascript·gis·three.js
Zeroplucky11 分钟前
从 registerContentObserver 剖析 Android Binder 流程
前端
Yinlin12413 分钟前
深入悬浮组件实现
前端