创建实例//main.js创建实例Vue.prototype.$addStorageValue=function(key,data,type=true){if(type){console.log('CreateaStorageEventevent');//创建一个StorageEvent事件varnewStorageEvent=document.createEvent('StorageEvent');conststorage={setItem:function(k,val){localStorage.setItem(k,val);//初始化创建的事件newStorageEvent.initStorageEvent('setItem',false,false,k,null,val,null,null);//调度对象window.dispatchEvent(newStorageEvent);}}返回storage.setItem(key,data);}else{//这里可以创建同一个sessionStorage的实例console.log('CreateaStorageEventevent');//创建一个StorageEvent事件varnewStorageEvent=document.createEvent('StorageEvent');conststorage={setItem:function(k,val){sessionStorage.setItem(k,val);//初始化创建的事件newStorageEvent.initStorageEvent('setItem',false,false,k,null,val,null,null);//调度对象window.dispatchEvent(newStorageEvent);}}返回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"){letval=JSON.parse(e.newValue);console.log(val);}});完成这篇文章
