VUE store 数据串变量,怎么解?

发布于 2022-09-11 23:27:27 字数 300 浏览 12 评论 0

  1. 问题: 两个变量,同一个接口获取的数据,但是,使用的时候发现数据串在一起了。如下图:
  2. 图片.png
  3. SET_FLOW_CLIENT_DATA中不想有SET_CLIENT_DATA的_expanded值。可是,一当SET_CLIENT_DATA在页面的值一被改变,SET_FLOW_CLIENT_DATA也跟着变了。如何才能真正区别开来他们两个变量?
  4. ps: 不想再重新调个接口赋值。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

嘦怹 2022-09-18 23:27:27

不知道你 store 里是怎么存的,看起来是共用的内存中同一个对象。

如果对象里属性都是基本类型,可以用 Object.assign / Array.from 浅拷贝后再 commit;如果还有其他类型,那就得动手撸一个深拷贝了。

简单爱 2022-09-18 23:27:27

就是引用类型的问题,不想有SET_CLIENT_DATA的_expanded值是不现实的,没必要拆数据结构,就深拷贝一份,网上找个深拷贝的方法,复制进来,或者使用lodash插件:

import _ from lodash

...
commit('SET_FLOW_CLIENT_DATA',_.cloneDeep(data))
...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文