Установить локальное хранилище для массива элементов в JavaScript - PullRequest
1 голос
/ 03 мая 2019

Мне нужно установить массив значений объектов для локального хранилища, используя ванильный JavaScript.

Я попытался перебрать массив и получить каждый индекс, а затем установить каждый индекс, который, кажется, не работает. Однако, если я ссылаюсь на каждый элемент, он работает, что странно ...

const theme_cache = [document.getElementById('panel').style.background,document.getElementsByClassName('icon-bar')[0].style.color]

     const saved_theme_cache = JSON.parse(localStorage.getItem('cached-elements'));

    element.onchange = function(){
         localStorage.setItem('cached-elements', JSON.stringify(theme_cache));
    }   

1 Ответ

3 голосов
/ 03 мая 2019

localStorage является парой ключ / значение и принимает только strings в качестве параметров значения. Когда передано что-то еще, оно будет называться toString() представлением. Вы должны использовать JSON.stringify и JSON.parse для сериализации / десериализации значения.

const listOfTests = [{test: "test"}]
localStorage.setItem("tests", JSON.stringify(listOfTests));

const listOfTestsFromLocalStorage = JSON.parse(localStorage.getItem("tests"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...