最近(一直以来)碰到的vue刷新页面娶不到监听值,忙的时候都以网速慢为借口搪塞过去,最近闲下来开始优化这些问题
解决的方式
- 使用同步和异步解决
await和async一般适用于函数,如果再封装一层监听的字段,无形中加大了代码的无效量,
- 在使用监听值的函数中,拦截状态值,如果没有取到就再次执行自身函数(目前使用的方法)
代码示例
judgeStoreDtl(){
let {currentStoreId} = this.user
console.log('currentStoreId', currentStoreId)
this.currentStoreId = currentStoreId
if (!currentStoreId) {
setTimeout(() => {
this.judgeStoreDtl()
}, 1000)
return
}
}
值得注意的是使用了定时器,不然的话内存会直接占满,页面会卡死