当前位置: 首页 > wzjs >正文

deals网站建设收到网站打入0.1元怎么做分录

deals网站建设,收到网站打入0.1元怎么做分录,怎么做装饰公司网站宣传,哪家app软件开发公司好文章目录 Vue 3.5 模板引用类型标注:让 TypeScript 更懂你的 DOM 和组件一、自动类型推断:像魔法一样的智能感知二、显式类型标注:当自动推断不够用时三、组件引用的类型处理:获取组件实例的艺术四、泛型组件的特殊处理&#xff1…

文章目录

  • Vue 3.5 模板引用类型标注:让 TypeScript 更懂你的 DOM 和组件
    • 一、自动类型推断:像魔法一样的智能感知
    • 二、显式类型标注:当自动推断不够用时
    • 三、组件引用的类型处理:获取组件实例的艺术
    • 四、泛型组件的特殊处理:当类型遇上动态
    • 五、版本注意与最佳实践
    • 总结

Vue 3.5 模板引用类型标注:让 TypeScript 更懂你的 DOM 和组件

Vue 3.5 带来了一个让 TypeScript 开发者欢呼的改进——模板引用类型自动推断!这意味着我们终于可以告别繁琐的 ref<HTMLElement | null>(null) 写法,享受更智能的类型体验。今天我们就来聊聊这个新特性,以及如何在不同场景下优雅地为模板引用标注类型。
在这里插入图片描述


一、自动类型推断:像魔法一样的智能感知

在 Vue 3.5 的单文件组件中,当你使用 useTemplateRef() 创建引用时,TypeScript 会像开了天眼一样,自动根据模板中的元素推断出类型:

// 无需泛型参数,自动推断为 HTMLInputElement
const el = useTemplateRef('el')
<template><!-- 这个 input 元素类型会被自动识别 --><input ref="el">
</template>

就像 IDE 的智能提示能猜中你的心思一样,这个特性特别适合处理静态模板中的原生元素。再也不用翻 MDN 查接口类型,写代码时 TypeScript 会直接告诉你:“我懂你想要的是 input 元素”。


二、显式类型标注:当自动推断不够用时

虽然自动推断很智能,但遇到这些情况还是需要手动标注类型:

  1. 动态组件:当使用 <component :is="...">
  2. 跨组件引用:非单文件组件场景
  3. 特殊元素类型:比如自定义元素或第三方库组件

这时候就需要祭出泛型参数大法:

// 显式指定为 HTMLInputElement 类型
const el = useTemplateRef<HTMLInputElement>('el')

这种写法就像给 TypeScript 一个温馨提示:“这个 ref 对应的应该是输入框元素哦”。


三、组件引用的类型处理:获取组件实例的艺术

当需要引用子组件时,类型标注需要一点小技巧:

import Foo from './Foo.vue'// 通过 InstanceType 提取组件实例类型
type FooInstance = InstanceType<typeof Foo>const compRef = useTemplateRef<FooInstance>('comp')

这里的关键是使用 TypeScript 的 InstanceType 工具类型,它就像一个组件类型的解码器,能帮我们从组件构造函数中提取出实例类型。对于动态组件,可以组合多个类型:

type FooOrBar = InstanceType<typeof Foo> | InstanceType<typeof Bar>
const compRef = useTemplateRef<FooOrBar>('comp')

如果对组件具体类型不感兴趣,可以使用通用类型 ComponentPublicInstance,它包含了所有组件都有的基础属性(比如 $el)。


四、泛型组件的特殊处理:当类型遇上动态

遇到泛型组件时,常规的 InstanceType 会失效。这时候需要请出 vue-component-type-helpers 这个神器:

import { ComponentExposed } from 'vue-component-type-helpers'// 正确获取泛型组件暴露的类型
const modal = useTemplateRef<ComponentExposed<typeof MyGenericModal>>('modal')

这就像给泛型组件装了一个类型适配器,让 TypeScript 能正确理解组件暴露的方法和属性。


五、版本注意与最佳实践

  1. 版本要求:确保使用 Vue 3.5+ 和 @vue/language-tools 2.1+
  2. 空值守卫:始终使用可选链 ?. 或类型守卫处理可能的 null 值
  3. 类型优先:即使有自动推断,显式标注类型能让代码更易维护

总结

Vue 3.5 的模板引用类型推断就像给 TypeScript 装上了 X 光眼镜,让类型系统能直接看透模板结构。虽然自动推断能覆盖大部分场景,但掌握显式标注技巧能让我们在复杂场景下依然游刃有余。下次写模板引用时,记得让 TypeScript 成为你的智能助手,而不是拦路虎!

现在就升级你的 Vue 版本,体验类型系统的魔法吧!记得在评论区分享你使用新特性的感受~


文章转载自:

http://CgCFAcPK.pLqhb.cn
http://RnoJZwN9.pLqhb.cn
http://SUIn3Iti.pLqhb.cn
http://wF8kTtM2.pLqhb.cn
http://bQ8olk3j.pLqhb.cn
http://vhVpGVe7.pLqhb.cn
http://OTWZ8HBF.pLqhb.cn
http://TrwVn3gK.pLqhb.cn
http://Mq9lADEV.pLqhb.cn
http://WsMdKEUx.pLqhb.cn
http://uzGk4HQI.pLqhb.cn
http://TDW3vhaS.pLqhb.cn
http://fjNRkVuM.pLqhb.cn
http://uzueBRwB.pLqhb.cn
http://BBNfj6aN.pLqhb.cn
http://0n12NJ9i.pLqhb.cn
http://VGV6OcO1.pLqhb.cn
http://MQRLpt52.pLqhb.cn
http://AGQABSsY.pLqhb.cn
http://iTXyW9ol.pLqhb.cn
http://3SVpaC24.pLqhb.cn
http://1KaYdVvB.pLqhb.cn
http://1yRaRIYf.pLqhb.cn
http://TgrS0uHi.pLqhb.cn
http://8oxectGt.pLqhb.cn
http://WZP0anSH.pLqhb.cn
http://61eiLx7k.pLqhb.cn
http://myEMxQQj.pLqhb.cn
http://PpbJOdFQ.pLqhb.cn
http://WMdKro4I.pLqhb.cn
http://www.dtcms.com/wzjs/771847.html

相关文章:

  • 网站设计软件网站建设分为几个阶段
  • 提供服务好的网站归档系统电脑版浏览器网页入口
  • tomcat做静态网站品牌网站建设特色大蝌蚪
  • dz网站建设视频教程wordpress图床
  • 松江品划做网站公司wordpress自定义鼠标
  • 网站建设飠金手指科杰十五域名交易中心
  • p2p网站开发的流程图wordpress 自定义内容类型
  • 珠海网站设计价格一起装修网装修公司
  • 重庆江北区网站建设网站开发p6
  • 网站制作要用哪些软件有哪些wordpress 头条号
  • 网站的js效果代码大全微网站建设包含
  • 海淀西北旺网站建设wordpress 微博图床
  • 腾讯云服务器centos做静态网站论坛程序
  • 精美化妆品网站模板百度怎么搜索关键词
  • 网站域名备案服务号个人网站下载
  • 财经大学网站建设wordpress建站百科
  • 兼职网站编程杭州网站建设官方蓝韵网络
  • 论坛网站建设费用网站如何添加二维码
  • 郑州做营销型网站建设网站恶意点击
  • 济南网站建设方案报价北京网站建设报价表
  • 李青青做网站 公司主要做应用领域三个字的公司名称精选
  • 百度的网站关键词被篡改网站建设ppt方案模板
  • 建设电影网站算盗版吗设计本笔记本推荐
  • 做网站违法网站搭建 成都
  • 做网站没什么用啊老师别人强重庆市建设工程信息网行业协会
  • jimdo和wordpress昭通网站seo
  • 池州网站建设有哪些公司注册推广赚钱一个30元
  • 团购汽车最便宜的网站建设wordpress百度网站地图
  • 佛山网站建设与推广wordpress速度优化
  • 禁止百度收录的网站网站建设侧边栏代码