每日三思:vue的页面刷新取不到state传递的监听值的问题

最近(一直以来)碰到的vue刷新页面娶不到监听值,忙的时候都以网速慢为借口搪塞过去,最近闲下来开始优化这些问题

解决的方式

  1. 使用同步和异步解决

await和async一般适用于函数,如果再封装一层监听的字段,无形中加大了代码的无效量,

  1. 在使用监听值的函数中,拦截状态值,如果没有取到就再次执行自身函数(目前使用的方法)

代码示例

judgeStoreDtl(){
	let {currentStoreId} = this.user
    console.log('currentStoreId', currentStoreId)
    this.currentStoreId = currentStoreId
    if (!currentStoreId) {
      setTimeout(() => {
        this.judgeStoreDtl()
      }, 1000)
      return
    }
}

值得注意的是使用了定时器,不然的话内存会直接占满,页面会卡死

你可能感兴趣的:(vue)