javascript - 刷新页面后保留LocalStorage
问题描述
目前,我输入数据,它存储在本地存储中并相应地显示。这是该流程的代码:
创建/设置数据(在 create.js 文件中)
let orders = [];
document.onreadystatechange = function () {
if (document.readyState === 'interactive') renderApp();
function renderApp() {
var onInit = app.initialized();
onInit.then(getClient).catch(handleErr);
function getClient(_client) {
window.client = _client;
//client.events.on('app.activated', onAppActivate1);
onAppActivate1();
}
}
};
function onAppActivate1() {
//intialize an array that will have all the keys user puts in
console.log('got here');
$("#btnCreateOrder").click(function () {
//orders = localStorage.getItem('orderlist');
let order = {
id: Date.now(),
order: document.getElementById('order').value,
name: document.getElementById('inputName').value,
date: document.getElementById('inputDate').value,
status: document.getElementById('inputStatus').value
}
orders.push(order);
if (!localStorage.getItem('orderlist') || JSON.parse(localStorage.getItem('orderlist')).length === 0) {
$window.localStorage.setItem('orderlist', JSON.stringify($scope.initData));
}
//localStorage.setItem('orderlist', JSON.stringify(orders));
client.instance.send({
message: {
orders: orders
}
});
client.instance.close();
});
}
function handleErr(err) {
console.log('Error Occuered', err);
}
接收/显示数据 (app.js)
function onAppActivate() {
//var displayID = new Array();
console.log("Hi!! We are in the app!");
client.instance.resize({ height: "350px" });
client.instance.receive(function (event) {
var data = event.helper.getData();
console.log("data is", data);
for (let i = 0; i < data.message.orders.length; ++i) {
console.log(data.message.orders.length);
const orderList = data.message.orders[i];
console.log("orderlist is ", orderList);
var order = document.createElement("div");
order.innerHTML = `<br/> Order#: ${orderList.order}<br/> Name: ${orderList.name}<br/>
Date: ${orderList.date} <br/> Status: ${orderList.status}`;
order.style.borderBottom = "1px solid black"
document.getElementById('orderhistory').appendChild(order);
}
})
当我刷新应用程序时,我的数据会保留,但是当我重新加载浏览器时,数据会被重置,但我希望数据保留,即使我重新加载浏览器并继续附加它
解决方案
推荐阅读
- sql - 在第二列的两个值之间选择一个值
- microsoft-dynamics - Dynamics 365 在活动的子网格中隐藏新按钮
- java - Java Apache Ignite 事件侦听器意外行为
- php - 根据php 7.2中折旧的NULL常量检查数组是否包含值的最佳替代方法是什么
- amazon-web-services - 具有动态容量的账户中的 EC2 预留实例计费
- log4j - 使用 log4j 将 spring 日志转移到特定的日志文件
- python - 如何使用opencv自动将源图像转换为目标图像
- python - 优化清理 n-gram 的运行时间
- google-cloud-platform - 使用多磁盘 GCP 对多个 VM 进行 Terraform
- c - 我试图通过在 c 语言中使用递归来反转一个数字,但输出没有改变