vue数据响应不及时的问题
1.vue由于javascript的限制,对象属性的增加和删除,不能及时更新视图view因为若一个对象的属性没有在data中声明,则他就不是响应式的。由于 Vue 会在初始化实例时对属性执行 getter/setter 转化过程,这样的话这个对象属性就是响应式的。而执行这个过程必须在data中声明才会有。var vm = new Vue({data:{a:1// vm.a 是响应的}})vm.b
·
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);
- 由于 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)
更多推荐
已为社区贡献10条内容
所有评论(0)