首页 > 其他分享 >vue3标签模板上的ref类型注解

vue3标签模板上的ref类型注解

时间:2024-06-19 20:44:54浏览次数:20  
标签:const 标签 num vue3 组件 null ref 模板

子组件
<script setup lang="ts">
import { ref, defineExpose } from 'vue';
const num = ref<number>(10)
defineExpose({
  num,//把值暴露出去,父级可以通过ref获取 
})
</script>

<template>
  <h1>我是组件</h1>

</template>

<style scoped></style>
父组件
<template>
   <ul>
    <input type="text" ref="iptRef">
    <a href="" ref="aRef"></a>
    <helloworld ref="refChild"></helloworld>
  </ul>
</template>

 

可以看我声明两个标签的ref,还有一个自定义组件的ref模板

我想通过ref来获取这个标签

可以通过

const iptRef = ref<HTMLInputElement | null>(null) //来获取 HTMLInputElement 是这个标签的类型,null是防止这个类型没有渲染完成
const aRef = ref<HTMLAnchorElement | null>(null)

//自定义组件 可以通过 InstanceType<typeof 组件名> 来获取组件名
const refChild = ref<InstanceType<typeof helloworld> | null>(null)
onMounted(() => {
iptRef.value?.focus() //可能 为null所以要加? console.log(aRef.value?.href);

 console.log(refChild.value?.num);
})

 

标签:const,标签,num,vue3,组件,null,ref,模板
From: https://www.cnblogs.com/whenwei123/p/18257340

相关文章

  • 函数模板与类模板深入解析及实例
    目录函数模板类模板类模板成员函数的实例化类模板的静态成员全局特化与成员特化缺省模板参数与数值形式的模板参数结论 函数模板函数模板允许我们编写适用于多种数据类型的通用函数。以下是函数模板的定义和使用示例:template<typenameT>Tmax(Ta,Tb){......
  • vue模板编译器
    vue模板编译器import{ASTElement,compile}from'vue-template-compiler';import{TableColumnDesc}from"@/components/table/base-table/type.ts";exportconstcodeAdapter=function(code:string):{tableCode:string;columns:TableC......
  • nuxt3+vue3+vite+TS实现国际化
    前言博主最近打算用Nuxt3重构了自己SSR博客,打算添加国际化功能,众所周知,实现国际化已是一个很常见的功能。用户可以根据自己的喜好,设置页面的自己合适的语言,从而实现国际化浏览。这样用户体验度会大大提升。博客用的nuxt3+vue3+vite+TS实现国际化,国际化用的vue-i18n,下面我给大......
  • Vue3如何绑定全局方法和变量
    Vue2中Vue.prototype绑定全局方法,此写法在Vue3已经不存在了。与任何全局的东西一样,应该谨慎使用。Vue3使用provide/inject或者app.config.globalProperties进行绑定如果全局属性与组件自己的属性冲突,组件自己的属性将具有更高的优先级。 一、provide/inject方法......
  • 学生个人网页设计作品 学生个人网页模板 简单个人主页成品 个人网页制作 HTML学生个人
    ......
  • mybatis-mp 高级用法:ORM+SQL模板,真正意义实现ORM!!!
    官网:mybatis-mp.cn目前ORM以JPAPLUS为首的ORM,遇到稍微复杂的、或者数据库特性函数时通常需要自己写sql,或代码中,或xml中,这就有点难受了1:有没有好的办法?mybatis-mp的做法就是ORM+SQL模板,SQL模板不仅仅是sql字符串,它还帮你替换关系的信息:列SysUserRo......
  • Vue 3中的ref:深入理解响应式引用
    ......
  • Vue3鼠标悬浮个人头像时出现修改头像,点击出现弹框,上传头像使用cropperjs可裁剪预览
    实现效果:鼠标悬浮到头像上,下方出现修改头像点击修改头像出现弹框,弹框中可上传头像,并支持头像的裁剪及预览 实现方式: 1.tempalte中<divclass="img-box"> <imgv-if="avatarImgUrl":src="avatarImgUrl"class="avatar"/> <divclass="text"@......
  • vue3cron表达式
     引用:js部分importcmCronfrom'../../components/cmCron/index.vue';constshortcuts=[     {      text:"每天8点和12点(自定义追加)",      value:"008,12**?"     }    ]; 模板部分: ......
  • NPOI给模板绑定下拉项
    1、.xlsx后缀模板使用NPOI版本【v2.7.0】usingNPOI.HSSF.UserModel;usingNPOI.SS.UserModel;usingNPOI.SS.Util;usingNPOI.XSSF.UserModel;///<summary>///模板初始化///</summary>publicvoidTemplateInit(){str......