Vuex 添加对象属性 视图不更新

2017-05-28  本文已影响0人  liuzihe

问题

在给Vuex的对象添加属性时,申请computed的组件,对应的视图不会更新。

原因

因为Vuex只会跟踪所有在对象创建时就存在的属性。

之所以这样,是因为Vue监测数据的更新,是通过重写数据的set函数,在有写入数据的时候,通知所有订阅者数据更新。而为对象添加属性并不会触发set函数。

解决办法

可以创建一个新的对象,把原来对象的属性,和要添加的属性加到新的对象里。


let someObject = Object.assign({}, someObject, {newField: value})

Object.assign

这里用到了Object.assign()函数,Object.assign()可以快速的把多个对象的属性拷贝到第一个参数的对象中。

需要注意的是:

上一篇 下一篇

猜你喜欢

热点阅读