用computed监听sessionStorage中的数据,结果不符合预期,一起看下解决方案吧

    computed:{
        cantGetValue(){
            return window.sessionStorage.getItem('test')//这个sessionStorage的值变化是不会被监听到的
        }
    }

先看下产生问题的过程

过程:

页面模版调用计算属性的值

接口返回数据设置sessionStorage

期望:

sessionStorage被接口返回的值改变,进而页面数据刷新

实际结果:

页面未变化

解决方案

第一种:用vuex来代替sessionStorage,因为computed是可以监听到vuex数据变化的

第二种:还是用sessionStorage的方式来存储。直接把  window && window.sessionStorage.getItem('myvalue')   这段代码写在vue的模版里,不过不推荐,虽然能运行但是不够优雅,容易被人笑话。

Logo

前往低代码交流专区

更多推荐