1.异步数据更新
vue数据更新是同步的,在methods中方法里更新data中的数据,会立即使data中数据更改,立即生效;
众所周知,vue中的数据是双向绑定的的;data中的数据的变化们,也会使页面中的渲染的数据发生变化;
但是data中数据的变化是同步的,而之后引起页面渲染发生的变化确实异步的;页面中的更新是吧一定数量的、需要更新的统一进行更新;
2.解决方法
2.1 获取页面更新后的数据,调用nextTick()函数
methods:{
change(){
this.name = '李四'
console.log(this.name); //李四
console.log(btn.innerText); //张三
this.$nextTick(()=>{
console.log(btn.innerText); //李四
})
}
},
2.2 set()手动更新
increase(index) {
// 强制更新方法二,可以指定那个数据进行更新
// 参数一 要更新的数据源 参数二要更新数据的索引 参数三要更新的具体数据
this.$set(this.shopCar, index, goods);
},
这这种强制更新会更新全部的数据
2.3 forceUpdate()调用此方法更新
jiaRu(item) {
// 强制更新方法一,界面尽量少用强制更新
this.$forceUpdate();
}