新建util.js
export function sendMsg(type,payload){
localStorage.setItem(
'@@' + type,
JSON.stringify({
payload,
temp: Date.now(),
})
)
}
export function listenMsg(handler) {
const storageHandler = (e) => {
const data = JSON.parse(e.newValue);
handler(e.key.subString(2),data.payload);
};
window.addEventListener('storage',storageHandler);
return () => {
window.removeEventListener('storage',storageHandler);
};
}
------------------------列表页 数据加载完成时 监听消息------------------------
let unHandler;
mounted: function() {
// 监听消息
listenMsg((type, payload)=>{
console.log(type,payload)
})
}
onUnmounted(()=>{
// 取消监听
unHandler && unHandler();
})
------------------------新增/修改页面 操作完成时 发送消息------------------------
sendMsg('add-emp',新增数据消息对象);
sendMsg('edit-emp',修改数据消息对象);
浏览器新标签页新增/修改数据时,列表页实时刷新--监听本地存储
最新推荐文章于 2026-08-27 21:59:57 发布
文章介绍了在JavaScript中创建的util.js模块,该模块包含两个功能函数:sendMsg用于存储特定类型的数据到localStorage,而listenMsg用于监听并处理localStorage中的变化,实现Web页面间的数据同步。在页面挂载和卸载时分别调用这两个函数,以实现在新增或编辑数据操作完成后通知列表页更新。

317

被折叠的 条评论
为什么被折叠?



