问题描述

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


原因分析:

先看vue官网示例:
在这里插入图片描述

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

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

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


解决方案:

  1. 计算具体值
    在这里插入图片描述
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐