欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

vue数据响应不及时的问题

程序员文章站 2024-01-02 22:54:16
...

1.vue由于javascript的限制,对象属性的增加和删除,不能及时更新视图view
因为若一个对象的属性没有在data中声明,则他就不是响应式的。由于 Vue 会在初始化实例时对属性执行 getter/setter 转化过程,这样的话这个对象属性就是响应式的。而执行这个过程必须在data中声明才会有。

var vm = new Vue({
    data:{
        a:1// vm.a 是响应的

    }
})
vm.b = 2;// vm.b 是非响应的

可以用set来解决这个问题

Vue.set(vm.someObject, 'b', 2);
//或者
this.$set(this.someObject,'b',2);
  1. 由于 JavaScript 的限制, Vue 不能检测以下变动的数组
vm.items[indexOfItem] = newValue;
解决---->
Vue.set(vm.items,indexOfItem,newValue) / vm.items.splice(indexOfItem, 1 , newValue)
vm.items.length = newLength;

解决---->
vm.items.splice(newLength)
相关标签: vue学习

上一篇:

下一篇: