vue 改变对象属性。视图不刷新问题
2019-04-12 10:04
323 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lily__an/article/details/89226324
vue 改变对象属性。视图不刷新问题
在vue的data数据中心定义一个对象obj,然后在触发事件时给obj添加或修改属性的时候,页面中的视图不会同步更新,只有当其他数据发生改变时,视图才会同步更新数据,按理来说vue data数据中心的数据是双向绑定的,当数据中心的数据发生改变时,视图就会同步更新才对。
后来通过查阅官网资料发现:
Vue 不能检测到对象属性的添加或删除。由于 Vue 会在初始化实例时对属性执行 getter/setter 转化过程,所以属性必须在 data 对象上存在才能让 Vue 转换它,这样才能让它是响应的。例如:
var vm = new Vue({ data:{ a:1 } }) // `vm.a` 是响应的 vm.b = 2 // `vm.b` 是非响应的
Vue 不允许在已经创建的实例上动态添加新的根级响应式属性(root-level reactive property)。然而它可以使用 Vue.set(object, key, value) 方法将响应属性添加到嵌套的对象上:
Vue.set(vm.someObject, 'b', 2)
您还可以使用 vm.$set 实例方法,这也是全局 Vue.set 方法的别名:
this.$set(this.someObject,'b',2)
相关文章推荐
- 解决vue中对象属性改变视图不更新的问题
- vue中对象属性改变视图不更新问题
- Vue中数组和对象更改后视图不刷新的问题
- 详解Vue中数组和对象更改后视图不刷新的问题
- debug过程中对加载顺序、对象属性、Vue数据传递和计算属性等问题的总结
- vue 对象改变时,同步更新视图的办法
- 详解Vue改变数组中对象的属性不重新渲染View的解决方案
- 基础知识提问:关于HashTable和List两个容器Add改变了属性的同一对象的问题
- 解决element-ui中el-menu组件作为vue-router模式在刷新页面后default-active属性与当前路由页面不一致问题的方法
- vue 循环对象,数据更新,但是视图未刷新
- 解决vue select当前value没有更新到vue对象属性的问题
- vue数组中对象属性变化页面不渲染问题
- vue.js 一个问题, 如果属性为null时,容易影响第二次绑定无法刷新。
- 解决vue数组中对象属性变化页面不渲染问题
- 写一个方法进行各种属性的更新,而不要每个界面设置改变都改变一个属性。就是点击应用或确定按钮时调用这个更新属性的方法,遍历所有(控制对象属性的)界面控件的状态(值),进行属性修改和刷新。
- vue2.0关于set添加属性后视图不能更新的问题
- Vue 改变数组中对象的属性不重新渲染View的解决方案
- Vue2.0 解决watch对象属性变化监听不到问题
- Vue循环数组改变其中某一项的属性,视图不会重新渲染
- vue监听对象及对象属性问题