export const initStroageEvent = () => { // 保存原始的setItem功能 const original = localStorage.setItem; // 对setItem进行扩展 // 1. 增加Event事件并派发 // 2. 执行原始的set功能 localStorage.setItem = function (key, value) { // * 不支持IE:https://caniuse.com/?search=Event() let event = new Event("localStroage"); event.key = key; event.newValue = value; window.dispatchEvent(event); original.apply(this, arguments); };};
import { initStroageEvent } from "./utils.js";initStroageEvent();
mounted() { window.addEventListener("localStroage", function (e) { console.log("localStroage", e.key, e.newValue); });},methods: { save() { localStorage.setItem("name", "张三"); },},