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

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

一、只在Script中创建 ref

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

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

例如:
Script 中:

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

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

二、同时在TemplateScript中"创建" 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()
}

三、 TemplateScriptref 的创建与区别

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

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

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

相关推荐
打瞌睡的朱尤10 小时前
Vue day10 完整购物网页(登录页,首页,搜索)
前端·javascript·vue.js
扶苏100211 小时前
深入理解 Vue 3 的 watchEffect
前端·javascript·vue.js
未来龙皇小蓝13 小时前
RBAC前端架构-05:引入Element-UI及相关逻辑
前端·ui
yanlele14 小时前
AI Coding 时代下, 关于你会写代码这件事儿, 还重要吗?
前端·javascript·ai编程
打瞌睡的朱尤14 小时前
Vue day9 购物车,项目,vant组件库,vw,路由
前端·javascript·vue.js
星火开发设计16 小时前
模板参数:类型参数与非类型参数的区别
java·开发语言·前端·数据库·c++·算法
cc.ChenLy18 小时前
【CSS进阶】毛玻璃效果与代码解析
前端·javascript·css
何中应18 小时前
使用Jenkins部署前端项目(Vue)
前端·vue.js·jenkins
西门吹-禅18 小时前
node js 性能处理
开发语言·javascript·ecmascript
3秒一个大19 小时前
JWT 登录:原理剖析与实战应用
前端·http·代码规范