官方解释:
Vue 不能检测到对象属性的添加或删除。由于 Vue 会在初始化实例时对属性执行 getter/setter 转化过程,所以属性必须在 data 对象上存在才能让 Vue 转换它,这样才能让它是响应的。
解决办法
若是对象,建议在data中定义好所有的属性
若是数组,最好重新赋值,不要单独修改某个元素
如果数据变更后需要强制刷新界面,vue提供 this.$forceUpdate() 方法
注意事项
在给对象赋值时一定要保证新的对象拥有其所有响应的属性,否则修改到非响应属性时也会造成页面不重新渲染。
原文:https://blog.csdn.net/u011628981/article/details/83587935 、