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

06.toRef 和 toRefs

学习要点:
1.toRef 和 toRefs
本节课我们来要了解一下 Vue3.x 中的 ref 两个周边 API 的用法;
一.toRef 和 toRefs
1. toRef 可以将源响应式对象上的 property 创建一个 ref 对象;
const obj = reactive({
name : 'Mr.Lee',
age : 100
})
// ref 和 toRef 都是给一个静态数据实行响应式,转换成 ref 对象
// ref 是复制操作,和之前的对象断了关联;
// toRef 是引用操作,当修改数据时,原数据也会被修改;
const nameRef = ref(obj.name)
const nameToRef = toRef(obj, 'name')
console.log(nameRef)
console.log(nameToRef)
nameRef.value = 'Mr.Wang'
nameToRef.value = 'Mr.Wang'
console.log(obj.name)
PS:手册上使用的 prop 传递,因为我们还没有学 setup(prop),我们换个例子;
const obj = reactive({
name : 'Mr.Lee',
age : 100
})
const info = {
// 响应式操作,使用 ref(),则无法获取原数据的修改信息
name : toRef(obj, 'name')
}
setTimeout(() => {
// 由于使用了 toRef,原数据修改后,这里会更新到最新数据
console.log(info.name.value)
}, 1000)
// 修改原数据,关联被 toRef 的数据
obj.name = 'Mr.Wang' 2. toRefs 会将原来响应式对象转换为普通对象,并将内部所有 property 都 ref;
3. 比如:我们要把一个函数里响应式对象里的 property 解构出来时还保持响应式;
const userF = () => {
const state = reactive({
foo : 1,
bar : 2
})
return toRefs(state)
}
const { foo, bar } = userF()
console.log(foo)
console.log(bar)

http://www.lryc.cn/news/63816.html

相关文章:

  • RabbitMq、Kafka、RocketMq整理
  • Python多元线性回归预测模型实验完整版
  • C#基础 变量在内存中的存储空间
  • 你最关心的4个零代码问题,ChatGPT 帮你解答了!
  • linux的环境变量
  • openQA----基于openSUSE部署openQA
  • 正则表达式基础一
  • Java中的内存泄露、内存溢出与栈溢出
  • 时序预测 | Matlab实现SSA-GRU、GRU麻雀算法优化门控循环单元时间序列预测(含优化前后对比)
  • Java+springboot开发的医院HIS信息管理系统实现,系统部署于云端,支持多租户SaaS模式
  • 【前端面经】Vue-Vue中的 $nextTick 有什么作用?
  • 基于STATCOM的风力发电机稳定性问题仿真分析(Simulink)
  • 如何写出高质量的代码
  • 15.基于主从博弈的智能小区代理商定价策略及电动汽车充电管理
  • ChatGPT实现多语种翻译
  • volatile关键字原理的使用介绍和底层原理解析和使用实例
  • 【软件下载】换新电脑记录下下载的软件时所需地址
  • 【10.HTML入门知识-CSS元素定位】
  • LeetCode_贪心算法_简单_455.分发饼干
  • HashMap
  • 数据结构初阶 —— 树(堆)
  • 一文看懂低代码,5分钟从入门到原理全搞定
  • MetaERP系统主要干什么的,华为自研ERP的路子是否可以效仿?
  • 自动驾驶——离散LQR的黎卡提方程Riccati公式推导与LQR工程化
  • 28.Mybatis的入门
  • Android Jetpack 从使用到源码深耕【ViewModel从实践到原理 】(三)
  • 什么性格的人适合报考环境科学类专业?高考选专业
  • Python中的异常处理机制可以帮助程序员在程序运行过程中遇到错误时进行处理
  • TCP之报文格式解析
  • qemu-基础篇(二)——裸机 arm 程序环境搭建