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

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

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

相关推荐
Highcharts.js35 分钟前
适合报表系统的可视化图表|Highcharts支持直接导出PNG和PDF
javascript·数据库·react.js·pdf
慧一居士41 分钟前
Vue项目中,何时使用布局、子组件嵌套、插槽 对应的使用场景,和完整的使用示例
前端·vue.js
叫我一声阿雷吧44 分钟前
JS 入门通关手册(35):执行上下文、调用栈与作用域链深度解析
javascript·作用域链·js进阶·执行上下文·调用栈·变量提升·闭包原理
Jave21082 小时前
实现全局自定义loading指令
前端·vue.js
Amumu121383 小时前
Js:正则表达式(一)
开发语言·javascript·正则表达式
月光宝盒造梦师5 小时前
Ant Design Ellipsis 中的判断逻辑 isEleEllipsis 方法非常消耗性能
javascript·react·优化
酉鬼女又兒6 小时前
零基础快速入门前端ES6 核心特性详解:Set 数据结构与对象增强写法(可用于备赛蓝桥杯Web应用开发)
开发语言·前端·javascript·职场和发展·蓝桥杯·es6
慧一居士6 小时前
Vue项目中,子组件调用父组件方法示例,以及如何传值示例,对比使用插槽和不使用插槽区别
前端·vue.js
阿珊和她的猫7 小时前
以用户为中心的前端性能指标解析
前端·javascript·css
SeSs IZED7 小时前
【Nginx 】Nginx 部署前端 vue 项目
前端·vue.js·nginx