[Vue3 + TS + Vite] ref 在 Template 与 Script 下的使用

在Vue 3中,ref 是一个非常重要的概念,它用于在 Template 和 Script 中引用组件实例、DOM元素或者响应式状态。

一、只在Script中创建 ref

在脚本中,ref 被用来创建响应式引用类型。

可以使用 ref 来声明一个响应式的引用变量。这个引用变量会自动跟踪依赖,并在数据变化时触发更新。

例如:
Script 中:

typescript 复制代码
import { ref } from 'vue'

const drawer = ref(0)
const show_drawer=()=>{
  console.log(drawer.value)
}

二、同时在Template与Script中"创建" ref

在Vue的Template中,ref 主要用于引用DOM元素或子组件实例。

当您在 Template 中为一个元素或组件添加 ref属性时,

Vue会在该组件或元素上创建一个引用,

在Script 中,可以在Script 中先定义一个同名的ref之后,直接通过这个ref来访问实例。

例如:
Template 中:

typescript 复制代码
<AddOrEditDrawer 
	ref="drawer" 
	:employeeRow="employeeRow"
	@confirmFunc="subData"
 />

Script 中:

typescript 复制代码
import { ref } from 'vue'

const drawer = ref<InstanceType<typeof Drawer> | null>(null)
const open_drawer=()=>{
  drawer.value?.isOpen()
}

三、 Template 与 Script中 ref 的创建与区别

  • Template 中的 ref 主要用于访问DOM节点或子组件实例,通常用于操作DOM或触发子组件的方法。

  • Script中的 ref则用于创建响应式状态,主要用于数据绑定和状态管理。

参考链接
vue3+element plus封装一个Drawer抽屉组件

相关推荐
架构技术专栏6 小时前
Agent 工具调用:从工具声明到执行反馈
前端·人工智能·后端
别动我齐刘海7 小时前
C++ 工程化学习
java·linux·前端·c++·学习·机器学习·机器人
志尊宝8 小时前
Vue3 零基础每日笔记(071):暗黑模式与主题切换——CSS 变量 + Element Plus 暗黑方案
前端·css·笔记·vue·html·前端开发·软件开发
WeiXin_DZbishe8 小时前
基于springboot城市公交实时运营与调度系统-计算机毕设 附源码【课程设计】66173
java·vue.js·spring boot·后端·python·php·课程设计
刘发财8 小时前
前端如何生成10000页PDF文件?
前端·javascript·开源
WeiXin_DZbishe8 小时前
基于Springboot+AI的kuall音乐广场的设计与实现-计算机毕设 附源码【课程设计】12715
vue.js·人工智能·spring boot·后端·python·php·课程设计
A接拉起0079 小时前
2026 年 JavaScript 开发者需要了解的知识
前端·javascript·后端
_馒头9 小时前
pixiJs游戏开发实践 - 跳棋小游戏
javascript·vue.js
用户11481867894849 小时前
面试官:大屏项目里十几个模块同时渲染上万条数据,怎么做到不卡?
前端·性能优化
前端市界9 小时前
Pro React Admin: 统一工程底座,承载多种应用...
前端·github