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

响应式ref()和reactive()

文章目录

  • ref()
  • reactive()
  • ref对比reactive
  • toRefs与toRef


ref()

  • 作用:定义响应式变量。

  • 语法:let xxx=ref(初始值)。

  • 返回值:一个RefImpl的实例对象,简称ref对象或ref,ref对象的value属性是响应式的

  • 注意点

    1. JS中操作数据需要:xxx.value,但模板中不需要.value,直接使用即可。
    2. 对于let name =ref(‘张三’)来说,name不是响应式的,name.value是响应式的

reactive()

  • 作用:定义响应式对象(基本类型不要用它,要用ref,否则报错)。

  • 语法:let 响应式对象=reactive(源对象)。

  • 返回值:一个Proxy的实例对象,简称响应式对象。

  • 注意点:reactive定义的响应式数据是“深层次”的。

ref对比reactive

  • 宏观角度看:
    1. ref用来定义:基本类型数据、对象类型数据;
    2. reactive用来定义:对象类型数据。
  • 区别:
    1. ref 创建的变量必须使用,value(可以使用volar插件自动添加,value)。
    2. reactive 重新分配一个新对象,会失去响应式(可以使用0bject.assign去整体替换)。
  • 使用原则:
    1. 若需要一个基本类型的响应式数据,必须使用ref。
    2. 若需要一个响应式对象,层级不深,ref、reactive都可以。
    3. 若需要一个响应式对象,且层级较深,推荐使用reactive。

toRefs与toRef

作用:将一个响应式对象中的每一个属性,转换为ref对象。
备注:toRefs与toRef功能一致,但toRefs可以批量转换。
语法如下:

import {reactive,toRefs,toRef} from
// 数据
let person = reactive({name:'张三age:18
})
let {name,age} = toRefs(person)
let nl = toRef(person,'age')
http://www.lryc.cn/news/394736.html

相关文章:

  • 运维系列.Nginx中使用HTTP压缩功能
  • vue3项目图片压缩+rem+自动重启等plugin使用与打包配置
  • 数据库性能优化系统设计
  • MyBatisPlus-分页插件的基本使用
  • 深入探索Python库的奇妙世界:赋能编程的无限可能
  • 力扣爆刷第161天之TOP100五连刷71-75(搜索二叉树、二维矩阵、路径总和)
  • 你真的了解Java内存模型JMM吗?
  • Springboot整合Jsch-Sftp
  • 生成随机的验证码图片(Python)
  • 0/1背包问题总结
  • 模电基础 - 放大电路的频率响应
  • Java 8 到 Java 22 新特性详解
  • 华为OD机试题-提取字符串中最长数学表达式
  • 专家指南:如何为您的电路选择理想的压敏电阻或热敏电阻
  • 基于主流SpringBoot进行JavaWeb开发的学习路线
  • 医疗机器人中的具身智能进展——自主超声策略模型的任务编码和局部探索
  • 探索人工智能在电子商务平台与游戏发行商竞争中几种应用方式
  • 【Altium】AD-网络版一个用户非人为异常占用多个License的解决方法
  • *算法训练(leetcode)第二十五天 | 134. 加油站、135. 分发糖果、860. 柠檬水找零、406. 根据身高重建队列
  • 乐鑫ESPC3 ESP8685 WiFi蓝牙模块透传程序设置教程,抛开繁琐AT指令,简单Web页面配置,即可实现透传
  • 怎么样才能为公司申请OV证书?
  • Python的`queue`模块
  • 牛客周赛 Round 50
  • 后端之路——登录校验
  • 无线网卡怎么连接台式电脑?让上网更便捷!
  • 【45 Pandas+Pyecharts | 去哪儿海南旅游攻略数据分析可视化】
  • Vue3项目给ElementPlus设置中文的两个方案
  • C#开发单实例应用程序并响应后续进程启动参数
  • STM32智能机器人导航系统教程
  • Android 15 适配之16K Page Size :为什么它会是最坑的一个适配点