سؤال

ما هي أفضل طريقة لتخزين بيانات الكائن في LocalStorage في HTML5. لم أعمل كثيرًا مع تخزين القيمة الرئيسية.

في بحثي ، رأيت بعض الأساليب المختلفة.

مثال بيانات:

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: Keys هو اسم الكيان ، متجر JSON

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

يتطلب النهج الثاني json.parse ().

إيجابيات/سلبيات؟

هل كانت مفيدة؟

المحلول

بالنسبة للسجل ، ذهبت مع النهج 2. مفتاحي يشبه اسم الجدول ، والقيمة هي مجموعة من السجلات JSON. عند استرداد الجدول ، يجب عليك الاتصال بـ json.parse ().

نصائح أخرى

تقنيات المخازن المحلية هي: http://madhukaudantha.blogspot.com/2011/02/client-side-storages-with-html-5.html...

النهج 2 ، حسنا .. هناك المزيد من الطرق

من المؤكد أن نهجك يعمل بشكل جيد ولكنه يجعلك عالقًا بعض الشيء مع الاتفاقية التي اخترتها للمضي قدمًا. أوصي بأن تفكر في لف وصول LocalStorage في الفصل حتى يتم عزل اتفاقية الخاص بك إلى الفصل كاتفاقية حقيقية.

وإلا إذا كنت قد اخترت تغيير HO ، فستجدها ، سيكون لديك رمز التنفيذ منتشرة في جميع أنحاء قاعدة التعليمات البرمجية الخاصة بك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top