vue项目动态监听localStorage或sessionStorage中数据的变化 | 您所在的位置:网站首页 › js监听sessionstorage的变化 › vue项目动态监听localStorage或sessionStorage中数据的变化 |
1、首先在main.js中给Vue.prototype注册一个全局方法,然后创建一个StorageEvent方法,当我们执行sessionStorage.setItem(k,val)的时候,初始化事件并派发事件。 Vue.prototype.$addStorageEvent = function (type, key, data) { // localStorage if (type === 1) { // 创建一个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 // 创建一个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); } }2、在需要存储的组件内用你注册的方法去存值 this.$addStorageEvent(1,'userMess',data);3、在需要监听的组件内去监听做操作 window.addEventListener('setItem',() => { this.user = sessionStorage.getItem('userMess') })文章来源: 1.vue项目动态监听localStorage或sessionStorage中数据的变化_小小小晓蓉的博客-CSDN博客 2.vue 项目监听localStorage或sessionStorage中值得变化 |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |