vue修改数据绑定的视图不能动态更新
2022-02-14 本文已影响0人
李小白呀
在写项目的时候遇见一个问题,修改vue v-bind或v-model绑定的数据时,视图不能更新
表格里面数据更新视图不变,修改其他数据时才会更新。
后来发现 vue文档里有这样一句话:
Vue 无法检测 property 的添加或移除。由于 Vue 会在初始化实例时对 property 执行 getter/setter 转化,所以 property 必须在 data 对象上存在才能让 Vue 将它转换为响应式的。
这句话的意思就是说,vue是基于响应式的,在vue中定义(绑定)的对象或数组,在新增或删除属性时,vue并不能检测到这些变化,但可以检测到属性的修改,(因为是基于getter/setter的)所以,只有data对象上存在的属性才可以是响应式的,就是可以被更新的!
然后发现是因为新增的时候不在data上,修改后就可以了。
其他设置新增的属性,以及Vue 不能检测以下数组的变动的情况可以看以下文章: