我创建了一个雇员数组对象,它由4个数组组成。我点击开始按钮后每2秒尝试添加一个新数组。我希望它以第8名结束。这里的一切都很好。
但是,如果我刷新页面并单击开始按钮,它将从头开始。为什么单击开始按钮是清除localStorage数据?
我的代码看起来很大但是很小的东西。 逐步解释代码。
1)首先,我创建了Employees数组。
2)将数据推送到员工阵列。
3)localStorage SetItem
4)获取物品
5)onclick getitems以记录setinterval。
6)如果员工的长度为8
则停止我希望它有所帮助。
将setItems设置为localstorage并获取
的JS代码function set_and_increase_localstorage_data(){
employees.push(employees[3]);
update_array();
localStorage.setItem("empData", JSON.stringify(employees));
var len = employees.length;
console.log(len)
if(len===8 || len>=8){
window.clearInterval(setInt);
}
getEmpdata();
}
function getEmpdata(){
myJsonData = localStorage.getItem("empData");
if(myJsonData){
var myData = JSON.parse(myJsonData);
var oblen = myData.length;
console.log("JS object stored in localstorage: " + oblen);
//setItem to localstorage
if(myJsonData){
// JSON data into javascript object
var output = "<div class='wrapper'>";
for(var i=4;i<myData.length;i++){
output += "<div class='item'>" + myData[i].name + "</div>";
}
output += "</div>";
}
document.getElementById('json_data').innerHTML = output;
}
}
答案 0 :(得分:1)
加载页面时,用于写入employees
的{{1}}变量始终会加载新数据 - 您永远不会将本地存储中的数据读回localStorage