vue中监听localstorage变化

1.新建一个localstorage.js 代码中写上

//重写setItem事件,当使用setItem的时候,触发,window.dispatchEvent派发事件
export default function tools () {
  const signSetItem = localStorage.setItem;
  localStorage.setItem = function (key, val) {
    const setEvent = new Event('setItemEvent');
    setEvent.key = key;
    setEvent.value = val;
    window.dispatchEvent(setEvent);
    signSetItem.apply(this, arguments);
  };
}

 2.在main.js中引用js文件

import storage from "@/api/common/localstorage";
Vue.use(storage);

3.在需要用的地方进行监听,我是在mounted中进行监听的

mounted() {
let _this = this;
        window.addEventListener("setItemEvent", (e) => {
// e.key是存储的名字 
            if (e.key == "orgCode") {
                _this.getQuerySysInfo(e.value);
            }
        });
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值