初学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>
相关推荐
RONIN21 小时前
组件通讯(父传子、子传父、ref属性、表单双向绑定v-model、兄弟间传值Event Bus、插槽、依赖注入)
vue.js
Amos_Web21 小时前
Solana 智能合约编译问题排查与修复总结
前端·rust·区块链
爱折腾的军哥21 小时前
首发 | OpenTaiji WFGY 防幻觉系统:让 AI Agent 不再"胡说八道"
javascript
颜酱21 小时前
从零实现「拍照记单词」小应用(可复刻版)
前端·javascript·人工智能
大猫会长21 小时前
AudioContext给音频提高音量
前端·javascript·音视频
kerli21 小时前
基于 kmp/cmp 的跨平台图片加载方案 - 适配 Android View/Compose/ios
android·前端·ios
RONIN21 小时前
vue组件、组件生命周期、组件分离模块化
前端·vue.js
小强198821 小时前
HTML5语义化标签:从`div`到`article`与`section`的进化之路
前端
RONIN21 小时前
vue开发环境与基础语法、计算属性、侦听属性
前端·vue.js
WayneYang21 小时前
JavaScript ES6+ (ES2015~ES2024) 全特性整理
前端·javascript