Reactive: Vue3数据更新但是表单没有更新

这两天在折腾前端, 因为前端基础不牢靠, 所以,通常都是猜一半, 查一半, 基本上也就是个面向百度编程。

过程中碰到了一个问题, 就是在编辑table的时候, 明明我把pinia的数据缓存更新了, 但是table的数据却没有更新, 其他地方也差不多是这样, 打印了各种log, 结果发现数据确实更新了, 然后随便更新下代码, 更新内容才会同步。

在网上搜罗了很久, 然后找到了问题的关键, 就是对reactive的理解有误差。

我是这么写对象引用的, 以及更新对象的

复制代码
const obj = reactive({})
const obj1 = {}
obj = obj1

然后obj确实更新了, 但是表单内容却没有刷新。

查询了下, 人家的对象引用都是这么写的

复制代码
const obj = reactive({data: {}})
const obj1 = {}
obj.data = obj1

然后这样写就能成功刷新表单。

大概的意思就是reactive是对对象的引用, 然后监听的也是对象内的属性, 只有更新了相关属性, 才能触发响应式。

整个的操作有点类似于其他语言的指针的样子, 对某个对象加了监听, 然后把这个对象的指针指向了其他的地方, 但是原来的那个对象的属性依然没有改变, 所以就触发不了事件。

其实是很基础的东西, 仔细看看文档也能懂, 但恰恰现在已经浮躁到根本都不想好好看文档了。

相关推荐
禅思院1 小时前
使用 VueUse 构建一个支持暂停/重置的 CountUp 组件
前端·vue.js·架构
窝子面2 小时前
NestJs+MongoDB+Deepseek+Langchain实现ai聊天助手
javascript·数据库·人工智能·mongodb
吴声子夜歌2 小时前
ES6——Calss详解
javascript·es6·原型模式
❆VE❆2 小时前
虚拟列表原理与实战运用场景详解
前端·javascript·css·vue.js·html·虚拟列表
灵感__idea9 小时前
Hello 算法:贪心的世界
前端·javascript·算法
killerbasd12 小时前
牧苏苏传 我不装了 4/7
前端·javascript·vue.js
橘子编程13 小时前
JavaScript与TypeScript终极指南
javascript·ubuntu·typescript
叫我一声阿雷吧14 小时前
JS 入门通关手册(45):浏览器渲染原理与重绘重排(性能优化核心,面试必考
javascript·前端面试·前端性能优化·浏览器渲染·浏览器渲染原理,重排重绘·reflow·repaint
大家的林语冰14 小时前
《前端周刊》尤大开源 Vite+ 全家桶,前端工业革命启动;尤大爆料 Void 云服务新产品,Vite 进军全栈开发;ECMA 源码映射规范......
前端·javascript·vue.js
jiayong2315 小时前
第 8 课:开始引入组合式函数
前端·javascript·学习