更良好的读取持久化数据
全局变量代理
做一个全局变量代理 放在运存中
这里全局变量举例 window._theme
读
jsconst getTheme = () => { return window._theme || window.localStorage.getItem('theme') || 'default' }写
jsconst setTheme = (value) => { window.localStorage.setItem('theme': value) return window._theme = value }
监听localStorage变化
重写localStorage
jsx
var orignalSetItem = localStorage.setItem;
localStorage.setItem = function(key,newValue){
var setItemEvent = new Event("setItemEvent");
setItemEvent.newValue = newValue;
window.dispatchEvent(setItemEvent);
orignalSetItem.apply(this,arguments);
}
window.addEventListener("setItemEvent", function (e) {
alert(e.newValue);
});
localStorage.setItem("name","wang");
讨论区
欢迎留下想法与补充