main.js ?
// 自定义监听sessionStorage的方法
Vue.prototype.$addStorageEvent = function (type, key, data) {
if (type === 'setItem') { //type为setItem时执行下面的方法
// 创建一个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);
}
}
// 存值 ?
this.$addStorageEvent(
"setItem",
"watchStorage",
JSON.stringify(this.isMoreExpand)
);
// 监听取值 ?
window.addEventListener("setItem", () => {
? ? ? let skin = JSON.parse(sessionStorage.getItem("watchStorage"));
? ??
? ? ? }, 500);
|