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是对对象的引用, 然后监听的也是对象内的属性, 只有更新了相关属性, 才能触发响应式。

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

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

相关推荐
IT_Octopus19 分钟前
【零基础入门 LLM 开发 · Day 11】:ChatOpenAI vs init_chat_model——一行换供应商
java·前端·javascript
King禅35 分钟前
JavaScript 调试实战指南:从 console.log 到 DevTools 深度运用
javascript
全栈项目管理程序猿40 分钟前
ArcGIS JS 基础教程(28):图层渲染顺序管理
前端·javascript
扶风ff1 小时前
练题簿在线免费刷题:创建个人任务,把刷题、听题和模考目标放到每天的学习中
开发语言·javascript·学习·小程序
asong1 小时前
没有源代码,AI 也能拆解软件:这个开源项目已有 3.7 万 Star
javascript·后端·github
用户1733598075371 小时前
纯前端 PDF 压平避坑指南:压平后表单字段变了?
前端·javascript·vue.js
雪芽蓝域zzs1 小时前
第 4 节:点击地图添加 Marker 标记点
vue.js
雪芽蓝域zzs1 小时前
第 1 章:天地图 V4 + Vue3 + TS(UniApp / 若依可用)从零教学
vue.js
用户298698530141 小时前
React 中实现 Word 与 Markdown 双向转换的实践记录
javascript·react.js·markdown
OpsEye2 小时前
大模型会话里的手机号、身份证,怎么自动脱敏?
javascript·ai编程