行囊电子商务 2022-10-31 14:56 采纳率: 78.1%
浏览 8
已结题

uni-app里,怎么深度递归局部更新store模块里的数据

uni-app里,怎么深度递归局部更新store模块里的数据

在页面实例里可以这样

this.$set(this.shop.data, 'name', '测试');

但是这样不能直接更新store模块的数据,
store里只能通过mutation的方法更新

set_shop(state, new_data){
  state.data={
    ...state.data,
    ...new_data
  }
}

这样更新的话,会导致state.data下面的字段被完全覆盖,而不是局部覆盖,需要自己写一个递归更新函数吗?还是已经有封装好的更新方法,例如:$set

  • 写回答

1条回答 默认 最新

  • Iam_楠 前端领域新星创作者 2022-10-31 15:26
    关注

    你用 $set 的时候 set 的是 shop 的 data,
    那你用 mutation 的时候同意可以在 state 里面声明一个你想要覆盖的shop,其他字段需要自己单独写 mutation 去更新

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月13日
  • 创建了问题 10月31日

悬赏问题

  • ¥15 Opencv(C++)异常
  • ¥15 VScode上配置C语言环境
  • ¥15 汇编语言没有主程序吗?
  • ¥15 这个函数为什么会爆内存
  • ¥15 无法装系统,grub成了顽固拦路虎
  • ¥15 springboot aop 应用启动异常
  • ¥15 matlab有关债券凸性久期的代码
  • ¥15 lvgl v8.2定时器提前到来
  • ¥15 qtcp 发送数据时偶尔会遇到发送数据失败?用的MSVC编译器(标签-qt|关键词-tcp)
  • ¥15 cam_lidar_calibration报错