《Vue3 版本差异》Vue3.5+ 在组件或HTML元素绑定 ref 差异

v3.5 之前

  • 代码第 8 行,导入 ref
  • 代码第 10 行,使用 ref 传参为 null,变量名与 第三行 ref 同名;
vue 复制代码
<template>
    <div>
        <span ref="spanRef">这是一条测试!!!</span>        
        <button @click="onClick">点击</button>
    </div>
</template>
<script setup>
import { ref } from 'vue'

const spanRef = ref(null)

function onClick() {
    console.log(spanRef.value.innerText)
}
</script>

v3.5 以后

  • 代码第 8 行,导入接口 useTemplateRef
  • 代码第 10 行,使用 useTemplateRef 传参为字符串 spanRef,传参与 第三行 ref 同名;
vue 复制代码
<template>
    <div>
        <span ref="spanRef">这是一条测试!!!</span>        
        <button @click="onClick">点击</button>
    </div>
</template>
<script setup>
import { useTemplateRef } from 'vue'

const spanObj = useTemplateRef('spanRef')

function onClick() {
    console.log(spanObj.value.innerText)
}
</script>
相关推荐
ℋᙚᵐⁱᒻᵉ鲸落3 小时前
移动端滑动手势冲突:overflow: auto导致外层横向滑动失效
前端·javascript·css·vue.js·html
默_笙4 小时前
🎃 前端学了 Next.js,后端该学啥?NestJS 就是 Node 版的蜜雪冰城
前端·javascript
এ慕ོ冬℘゜5 小时前
navigator 导航对象 BOM制作方法
javascript
kyriewen8 小时前
面试官让我用 AI 重构一个 8 年陈的 React 组件——他说他不看代码,只看我会不会拆
前端·javascript·面试
Jacky19999 小时前
Electron + Vue 3 桌面打字游戏实战:从 VSCode 扩展到独立应用的架构改造
javascript
用户50093768390399 小时前
热敏小票 Web 打印:我在 58/80mm 上折腾的两周
前端·vue.js
xy345310 小时前
Axure9.0 中继器遮罩的核心应用场景(精准适配列表交互)
前端·ui·html·原型·产品设计·axure9.0
柚yuzumi10 小时前
别再猜 this:先看它属于谁,再看它指向谁
前端·javascript
汉堡大王952710 小时前
面试必考:手写代码 new 做了什么?从原理到实现全解析
前端·javascript·面试
BillKu11 小时前
TypeScript中,字符串字面量联合类型(Union Type)、enum的用法说明
前端·javascript·typescript