在vue的data数据中心定义一个对象collocateval,然后在触发事件时给collocateval添加或修改属性的时候,页面中的视图不会同步更新,只有当其他数据发生改变时,视图才会同步更新数据
代码如下:
用了vue.set感觉也没有用啊。
还是只有当其他数据发生改变时,视图才会同步更新数据。
明明也有引入vue实例啊
是不是在组件里写法不对,求大神告知。
在vue的data数据中心定义一个对象collocateval,然后在触发事件时给collocateval添加或修改属性的时候,页面中的视图不会同步更新,只有当其他数据发生改变时,视图才会同步更新数据
代码如下:
用了vue.set感觉也没有用啊。
还是只有当其他数据发生改变时,视图才会同步更新数据。
明明也有引入vue实例啊
是不是在组件里写法不对,求大神告知。
13 回答12.8k 阅读
7 回答1.9k 阅读
3 回答1.1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
6 回答872 阅读✓ 已解决
6 回答1k 阅读
2 回答1.3k 阅读✓ 已解决
Vue 基于
Object.defineProperty
,通过把属性替换成 getter/setter 来实现近乎无痛的状态侦听。这个过程在组件初始化时进行,所有你定义的变量的属性,都被替换了。所以如果你在实例化完成后在赋值,就真的只是赋值,而不是调用 setter,所以就会失去响应式。
解决方案是使用 Vue.set,或者赋值整个对象。