监听sessionStorage的变化
在main.js中给Vue.protorype注册一个全局方法Vue.prototype.$addStorageEvent = function (type, key, data) {if (type === 1) {// 创建一个StorageEvent事件var newStorageEvent = document.createEvent('StorageEvent');const stora
·
在main.js中给Vue.protorype注册一个全局方法
Vue.prototype.$addStorageEvent = function (type, key, data) {
if (type === 2) { //type为2时执行下面的方法
// 创建一个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);
}
}
存值
this.$addStorageEvent(
2,
"menuList",
JSON.stringify(data.menuList || "[]")
);
获取变化
window.addEventListener("setItem", () => {
this.newVal = JSON.parse(sessionStorage.getItem("menuList"));
});
更多推荐
已为社区贡献5条内容
所有评论(0)