数组内是对象,可以响应数据变化
来源:4-10 检测变化的注意事项

慕虎8177602
2019-03-24
老师,当数组内是对象,比如 list: [ { a: 1 }, { a: 2 }, { a: 3 }, { a: 4 }, { a: 5 }],当触发数据改变, this.list[2][“a”] = 1111;页面会自动更新,这是为啥呢,当数组内元素都是简单类型时,就和vue文档说的一样,不会自动更新了
写回答
2回答
-
qq_飞越疯人院_1
2019-06-02
你这个是触发已经定义并观察过的对象key,是可以的,this.list[2]['b'] = 222就不行了。
10 -
ustbhuangyi
2019-03-24
this.list[2]['a'] 你修改的是对象元素,对象元素在初始化阶段会建立 getter 和 setter,如果你在 render 的时候使用了这个对象元素就相当于做了依赖收集,所以当你修改它的时候会触发更新。
10
相似问题