ローカルキーストアにデータを保存するときにキー値を増やす必要があります。これは、すべてのレコードで同じキーを使用し、更新のみを記録するためです。私は閉鎖ビットでこれを行うことができることを知っている私はJSで新鮮で、それを正しい方法を知らない。ローカルストレージにデータを保存するためのキー値の増分
(function() {
window.onload = function() {
document.getElementById('buttonCreate').onclick = function() {
var topicValue = document.getElementById("create-topic").value;
var statusValue = document.getElementById("create-status").value;
var descriptionValue = document.getElementById("create-description").value;
var key = 0;
var storage = new Storage();
var ticket = {
topic: topicValue,
status: statusValue,
description: descriptionValue
};
storage.set(key, ticket);
return (function() {
key++;
return key;
}());
}
}
})();
function Storage() {
this._ITEMS_DESCRIPTOR = 'items';
}
Storage.prototype.get = function() {
var fromStorage = localStorage.getItem(this._ITEMS_DESCRIPTOR);
return fromStorage ? JSON.parse(fromStorage) : [];
};
Storage.prototype.set = function(key, items) {
localStorage.setItem(key, JSON.stringify(items));
};
最初の手順として、コードをより読みやすくするように書式設定する必要があります。 (ex http://www.danstools.com/javascript-beautify/) –
hasTicket = trueまたはfalse、 を保存する必要があります(hasTicket)//他のものをStorageに書き換えます。なぜそうしようとしませんか? –
あなたのコードにクロージャは表示されません。すぐに呼び出される関数の式はクロージャ変数なしでは不要です。1セッション中またはセッション間でキーをインクリメントする必要があるかどうかは不明です。新しいキー – Aprillion