Согласно спецификациям W3 Web Storage значения в localStorage имеют строку типа.
Таким образом, запись не может быть подробно обновлена, как подкомпонента объекта JS, и только заменить весь ключ:
Обновление/редактирование localStorage – JSONObject
Предположим, что я хочу “защищать” пользовательский ввод часто на стороне клиента в localStorage, а также обновлять его на изменения модели на сервере (только передача изменений с сервера на клиент). Как часто я могу использовать JSON.stringify()
мои локальные данные (= состояние ViewModel) и сохранять их в localStorage, не вызывая проблем для пользователя? Является ли сериализация и сохранение (а не передача!), Например, 30 КБ данных каждые 5 секунд, чтобы локальная хранилища вызывала задержки?
Бонусный вопрос: планирует ли какой-либо крупный поставщик браузера хранить объекты JS непосредственно в localStorage?
Это может быть не совсем верно; существует способ обновления одного ключа к объекту, размещенному в локальном хранилище, а код ниже.
var updateLocalStorageKey = function(obj, key, val) {
var localObj = JSON.parse(localStorage[obj] )
localObj[key] = val;
//reset storage
localStorage[obj] = JSON.stringify(localObj)
}
Рабочий jsbin находится здесь: http://jsbin.com/jesapifa/4/edit?html,js,output
Надеюсь, это решает вашу проблему!