如何从localStorage获取数据?页面重载后UI值重置问题求助
解决页面重载后UI值重置的问题
- 问题出在你写的
storage函数只完成了读取localStorage的操作,却没有把读取到的数值同步到页面的count元素上,所以页面重载后UI不会恢复之前的计数。 - 修复方法很简单,修改
storage函数,在读取到存储值后更新UI:
修复后的完整代码:
document.getElementById('btn-increase').addEventListener('click', ()=>{ const countNumber = document.getElementById('count'); const countStr = countNumber.innerText; const counts = parseInt(countStr); const countTotal = counts + 1; countNumber.innerText = countTotal; // 存入localStorage localStorage.setItem('count', countTotal); }); const storage = ()=>{ const savedCount = localStorage.getItem('count'); // 只有存储值存在时才更新UI,避免首次加载时出错 if(savedCount){ document.getElementById('count').innerText = savedCount; } } // 页面加载时执行读取逻辑 storage();
- 额外提示:首次加载页面时,如果localStorage里还没有
count数据,建议给页面的count元素设置初始值,比如:
<div id="count">0</div>
这样可以避免点击按钮时parseInt读取空值导致的错误。
内容的提问来源于stack exchange,提问作者Bachan Kubi
相关产品推荐
相关产品推荐

