質問

HTML5のlocalStorageのでストアオブジェクトのデータへの最善の方法は何ですか。私は、キー値格納とあまり働いていない。

私の研究では、私はいくつかの異なるアプローチを見てきました。

サンプルデータ

var commands = [
  {invokes: 'Window', type: 'file', data: '/data/1'},
  {invokes: 'Action', type: 'icon', data: '/data/2'},
  {invokes: 'Window', type: 'file', data: '/data/3'}
];

アプローチ1:各データ項目を表すストアキー

// for(...) {
localStorage["command[" + i + "].invokes"] = command[i].invokes
localStorage["command[" + i + "].type"] = command[i].type
localStorage["command[" + i + "].data"] = command[i].data
//}

アプローチ2:キーは、エンティティ名、店舗JSON

localStorage["commands"] = JSON.stringify(commands);

第2のアプローチは)(JSON.parseを必要とします。

長所/短所?

役に立ちましたか?

解決

私は私のキーは、テーブル名に似ている2のアプローチと一緒に行った記録のために、値は、レコードのJSON文字列化配列です。テーブルを検索するときに、JSON.parse()を呼び出す必要があります。

他のヒント

ローカルストレージのための技術は、以下のとおりです。ます。http: //madhukaudantha.blogspot.com/2011/02/client-side-storages-with-html-5.htmlする ...

アプローチ2、OK .. より多くの方法があります。

確かにあなたのアプローチがうまくしかし、それは少しはあなたが前方に移動する選択した大会で立ち往生あなたを残してい動作します。私はあなたの大会が真の慣習としてクラスに隔離されるように、クラスであなたのlocalStorageアクセスをラップ検討することをお勧めします。

それ以外の場合、あなたはあなたが実装コードは、すべてのコードベースに散らばっています、それに近づくホ変更することを選んだはずです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top