Как получить данные локального хранилища на другом экране? - PullRequest
0 голосов
/ 12 сентября 2018

Я использую Ionic, и я сохраняю предпочтения пользователя в localstorage.

Теперь я хотел бы показать эти данные в профиле этого человека (поэтому в другойscreen / page ), но я не знаю, как мне получить эти данные.

Может ли кто-нибудь мне помочь?

// get favorites from local storage or empty array
var favorites = JSON.parse(localStorage.getItem('favorites')) || [];
// add class 'fav' to each favorite
favorites.forEach(function(favorite) {
  document.getElementById(favorite).className = 'fav';
});
// register click event listener
document.querySelector('.list').addEventListener('click', function(e) {
  var id = e.target.id,
      item = e.target,
      index = favorites.indexOf(id);
  // return if target doesn't have an id (shouldn't happen)
  if (!id) return;
  // item is not favorite
  if (index == -1) {
    favorites.push(id);
    item.className = 'fav';
  // item is already favorite
  } else {
    favorites.splice(index, 1);
    item.className = '';
  }
  // store array in local storage
  localStorage.setItem('favorites', JSON.stringify(favorites));
});

// local storage stores strings so we use JSON to stringify for storage and parse to get out of storage

Это мой Codepen: https://codepen.io/CrocoDillon/pen/pIlKB

Ответы [ 2 ]

0 голосов
/ 12 сентября 2018
const favorites = JSON.parse(localStorage.getItem('favorites')) || [];

localStorage.getItem('favorites') сам является аксессором

0 голосов
/ 12 сентября 2018

Пока вы находитесь в одном домене, у вас должен быть доступ к одному и тому же объекту localStorage.Так что это должно работать:

var favorites = JSON.parse(localStorage.getItem('favorites')) || [];
...