vue中实时获取sessionStorage的值

如果需要即使获取sessionStorage的值 在vue中操作如下

 

1.main.js中

import Vue from 'vue'
import App from './App'
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
import router from './router'
Vue.config.productionTip = false
Vue.use(ElementUI);
/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  components: { App },
  template: '<App/>'
})

Vue.prototype.resetSetItem = function (key, newVal) {
  if (key === 'formState') {
      // 创建一个StorageEvent事件
      var newStorageEvent = document.createEvent('StorageEvent');
      const storage = {
          setItem: function (k, val) {
              sessionStorage.setItem(k, val);

              // 初始化创建的事件
              newStorageEvent.initStorageEvent('setItem', false, false, k, null, val, null, null);

              // 派发对象
              window.dispatchEvent(newStorageEvent)
          }
      }
      return storage.setItem(key, newVal);
  }
}

2.存储值的时候需要按照上面main.js中定义好的方法使用

this.resetSetItem('formState', val);

3.另一个地方取值

created(){
      window.addEventListener('setItem', ()=> {
          var val = sessionStorage.getItem('formState');
        })
  },

 

上一篇:pyqt5 tablewidget 利用线程动态刷新数据的方法


下一篇:Python的延迟绑定