vue如何实时监听sessionStorage的变化?

image.png

这个 “下载合同” 我会根据sessionStorage.contractDetail是否存在来判断他是否显示隐藏

但是这个sessionStorage.contractDetail是根据接口来返回的,请求时间可能1-3秒,现在问题一开始看不到这个按钮,F5刷新后就看到这个按钮了
(因为刚开始在请求接口,所以检测不到sessionStorage.contractDetail存在,就一直false,刷新后检测sessionStorage.contractDetail存在为true所以显示)

大佬们,有好的解决方案嘛?

阅读 5.6k
2 个回答

我猜 你是后续调接口进行set缓存,但是你的get是之前获取的;
解决:
设置一个变量
初始化时 this.temp = sessionStorage.get()
接口返回正常set;
这时再赋值给this.temp;

或者:直接用vuex来处理;不用那么麻烦;

接口返回存入sessionStorage.contractDetail时,一并把返回值赋值到实例上不就解决了?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题