1、src--->utils-->添加watchLocalStorage.js文件
export default function dispatchEventStroage() { const signSetItem = localStorage.setItem localStorage.setItem = function (key, val) { let setEvent = new Event('setItemEvent') setEvent.key = key setEvent.newValue = val window.dispatchEvent(setEvent) // eslint-disable-next-line prefer-rest-params signSetItem.apply(this, arguments) } }
2、main.js中添加
import dispatchEventStroage from './utils/watchLocalStorage' Vue.use(dispatchEventStroage);
3、监听
mounted() { const that = this; window.addEventListener("setItemEvent", function (e) { if (e.key === "user_obj") { 修改要监听的字段... 监听到处理的方法 } }); },