vue开发中,我们需要进行很多组件通信的操作,一般情况下我们将数据放到vuex中的时候,很容易通过计算属性和watch监听的方式进行通信,但我们的数据存储在localStorage中的时候,就需要通过localStorage.setItem的回调函数来监听值地改变了


const _this = this;
var orignalSetItem = localStorage.setItem;
localStorage.setItem = function(key,newValue){
    var setItemEvent = new Event("setItemEvent");
    setItemEvent.key = key;
    window.dispatchEvent(setItemEvent);
    orignalSetItem.apply(this,arguments);
};
window.addEventListener("setItemEvent", function (e) {
    if(e.key=='msg'){
      console.log(e)
    }
});
Logo

前往低代码交流专区

更多推荐