vue2.0中数组和对象修改数据不是响应式、视图不更新、watch监听不到的情况

328 阅读1分钟

产生背景

  • 数组通过索引值进行修改
  • 对象新增属性

结果

  • 数据不是响应式的,视图不更新
  • watch监听不到 deep:true也没用

涉及到源码,目前先这样记着

怎么处理

  • 数组:不使用索引添加 splice等 详细见数组的方法汇总
  • 对象:
//合并一个新对象
state.allList = {
        ...state.allList,
        [obj.id]: obj.list
      }

vue3中没有此类问题,底层源码变了