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

vue3 uniapp 使用ref更新值后子组件没有更新 ref reactive的区别?使用from from -item执行表单验证一直提示没有值

遇到这样一个问题,我有个1个页面A,一个from表单组件,一个form-item组件,

  • 使用是这样的,我在父组件A中使用 ,执行表单验证一直提示没有值
    ···

咱们先来讲一讲ref 和reactive的区别

ref

  • 用来创建一个基本类型或单一值的响应式引用。
  • 包装一个值,返回一个对象,这个对象有一个 .value 属性,存放真实的值。
  • 对基本类型(字符串、数字、布尔等)特别有用。
  • 也可以包裹对象,但需要访问时用 .value。
import { ref } from 'vue'const count = ref(0)
console.log(count.value) // 0count.value++

reactive

  • 用来创建一个响应式对象(通常是复杂数据,如对象、数组)。
  • 直接将普通对象变成响应式,不需要访问 .value。
  • 不能用来包装基本类型(会报错或者行为异常)。
import { reactive } from 'vue'const state = reactive({count: 0,name: 'Tom'
})console.log(state.count) // 0state.count++

上方组件未更新的情况,后面切换成reactive就可以了

方面refreactive
响应式包裹对象可以包裹任意类型,访问要用 .value只能包裹对象或数组,不用 .value
访问数据需要 .value直接访问
包裹基本类型设计来包裹基本类型不支持基本类型(只能对象)
嵌套响应式自动解包,模板中直接用 .value对嵌套属性自动响应
适用场景单个值,简单变量复杂对象,状态管理
直接解构的风险解构会丢失响应式(需用 toRefs直接解构不会丢失响应式

你的场景如何选?

  • 如果你需要一个整体响应式对象,建议用 reactive,它天然支持对象的嵌套和变化追踪
  • 如果是单个简单变量,或者需要引用包装(比如 ref),用 ref
http://www.lryc.cn/news/583856.html

相关文章:

  • TCP 保活(KeepAlive)机制详解
  • STM32F103之ModBus\RS232\RS422\RS485
  • OpenCV 图像进阶处理:特征提取与车牌识别深度解析
  • 人工智能-基础篇-28-模型上下文协议--MCP请求示例(JSON格式,客户端代码,服务端代码等示例)
  • LabVIEW 波形图表横坐标显示当前日期
  • Eigen 几何模块深拆:Isometry3d vs Affine3d + 变换矩阵本质详解
  • GitHub信息收集
  • STM32单片机_3
  • GitHub敏感信息收集与防御指南
  • esp32在vscode中仿真调试
  • 学习笔记丨卷积神经网络(CNN):原理剖析与多领域Github应用
  • 魔法原子发布高动态双足人形机器人MagicBot Z1
  • 个人精品文章导航
  • 一文讲清楚React Hooks
  • 1.2.3_1 OSI参考模型
  • 英语笔记1.0
  • 【Linux手册】从接口到管理:Linux文件系统的核心操作指南
  • C++之string类的实现代码及其详解(下)
  • 商城系统|城乡商城协作系统|基于Springboot的城乡商城协作系统设计与实现
  • 零基础数据结构与算法——第四章:基础算法-搜索算法(上)
  • 无缝矩阵与普通矩阵的对比分析
  • 正点原子 文件权限
  • 深入解析JVM内存结构与垃圾回收机制
  • Oracle大表数据清理优化与注意事项详解
  • 【C语言】学习过程教训与经验杂谈:思想准备、知识回顾(六)
  • Uniapp中的uni.scss
  • Layui —— select
  • 从品牌附庸到自我表达:定制开发开源AI智能名片S2B2C商城小程序赋能下的营销变革
  • 盲盒一番赏小程序技术实现方案:高并发与防作弊的平衡之道
  • 可视化DIY小程序工具!开源拖拽式源码系统,自由搭建,完整的源代码包分享