创立实例:

//main.js 创立实例Vue.prototype.$addStorageValue = function(key,data,type=true){  if(type){    console.log('创立一个StorageEvent事件');    //创立一个StorageEvent事件    var newStorageEvent = document.createEvent('StorageEvent');    const storage = {      setItem: function(k,val){        localStorage.setItem(k,val);          //初始化创立的事件          newStorageEvent.initStorageEvent('setItem',false,false,k,null,val,null,null);          //派发对象          window.dispatchEvent(newStorageEvent);      }    }    return storage.setItem(key,data);  }  else{     // 此处能够创立一个雷同的sessionStorage的实例     console.log('创立一个StorageEvent事件');    //创立一个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,data);  }  }

调用:

//store.index.js//this._vm.$addStorageValue('key',data,type)this._vm.$addStorageValue('personData',JSON.stringify(state.personData),true)

监听:

  mounted() {    window.addEventListener("setItem", e => {      if (e.key === "personData") {        let val = JSON.parse(e.newValue);        console.log(val);      }    });

实现

本文链接来源于