Vue监听sessionStorage

2023-09-26  本文已影响0人  喵了个咪O_O
  1. main.js
    Vue.prototype.$setStorageItem = function (key, newVal) {
    //activeIndex监听的session字段
    if (key === 'activeIndex') {
    // 创建一个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, newVal);
    }
    }
  1. created或mounted
    window.addEventListener('setItem', () => {
    this.setActiveIndex(sessionStorage.getItem('activeIndex') || '3')

})

  1. 设置值
    this.$setStorageItem('activeIndex', key)
上一篇 下一篇

猜你喜欢

热点阅读