【Vue】computed计算对象不生效问题?

问题描述

最近使用vuex来管理全局状态,遇到了computed计算state中数据却不生效的问题。


原因分析:

先看vue官网示例:

computed接收的是一个getter函数,但是这个getter函数是懒加载并且有缓存的,当计算属性最终计算的值发生变化才会触发渲染

在变更对象或数组时,旧值将与新值相同,因为它们的引用指向同一个对象/数组。Vue 不会保留变更之前值的副本。

如果想要更新官网给出的解决方案是使用方法,重新渲染发生时再次执行函数,但是这种在我的业务场景不行


解决方案:

  1. 计算具体值
相关推荐
何时梦醒1 分钟前
深入理解递归与快速排序 —— 从基础入门到手写实现
前端·javascript
bonechips12 分钟前
LLM 的无状态:从 HTTP 协议到对话上下文工程
前端·javascript
胡志辉13 分钟前
从 prototype 到 V8,看懂 JavaScript 原型链
前端·javascript
mqcode2 小时前
你项目里的 axios,封对了吗?从裸用到生产级的四步进化
vue.js·axios
ping某2 小时前
专栏-null 和 undefined 到底是什么?
前端·javascript·后端
Linsk3 小时前
组件 = 模板 + 业务逻辑
java·前端·vue.js
swipe5 小时前
从 0 到 1 理解 React 虚拟列表:定高、不定高与 Canvas 版本完整拆解
前端·javascript·面试
铁皮饭盒5 小时前
Bun执行python代码
前端·javascript·后端
前端啊6 小时前
告别 el-table 打印难题,vue3-print-el-table 来了!
前端·vue.js
zzzzzz3107 小时前
当甲方说'logo放大的同时再缩小一点'时,我用 AI 把这个需求做出来了
javascript·css·程序员