用computed监听sessionStorage中的数据,结果不符合预期,一起看下解决方案吧
computed:{
cantGetValue(){
return window.sessionStorage.getItem('test')//这个sessionStorage的值变化是不会被监听到的
}
}
先看下产生问题的过程
过程:
页面模版调用计算属性的值
接口返回数据设置sessionStorage
期望:
sessionStorage被接口返回的值改变,进而页面数据刷新
实际结果:
页面未变化
解决方案
第一种:用vuex来代替sessionStorage,因为computed是可以监听到vuex数据变化的
第二种:还是用sessionStorage的方式来存储。直接把 window && window.sessionStorage.getItem('myvalue') 这段代码写在vue的模版里,不过不推荐,虽然能运行但是不够优雅,容易被人笑话。