如何在Angular中使用本地存储

我需要将数据存储在浏览器的会话中并检索数据,直到会话退出。如何在 Angular 2 中使用本地存储和会话存储?


答案 1

标准的本地存储 API 应该可用,只需执行例如:

localStorage.setItem('whatever', 'something');

得到了广泛的支持

请注意,如果您还没有数组,则需要将其添加到数组中。"dom""lib"tsconfig.json


答案 2

如何从localStorage存储,检索和删除数据:

// General syntax for storing data
localStorage.setItem('key', 'value');
// Also note that both the key & the value has to be strings. 
// So we stringify the value(if it's an object) before setting it.

// So, if you have an object that you want to save, stringify it like this

let data = {
  'token': 'token',
  'name': 'name'
};
localStorage.setItem('myLSkey', JSON.stringify(data));

// OR for individual key-value pairs
localStorage.setItem('myLSkey', JSON.stringify({
  'token': 'token',
  'name': 'name'
}));

// To retrieve the data & save it to an existing variable
data = JSON.parse(localStorage.getItem('myLSkey'));

// To remove a value/item from localStorage
localStorage.removeItem("myLSkey");

提示
你还可以为你的 angular 应用使用一个包,该包基于本机 localStorage API(我们在上面使用)来实现此目的,你不必担心字符串化和解析。查看此软件包,了解角度 5 及以上。@ngx-pwa/local-storage

你也可以做一个快速的谷歌搜索也许,有角度的本地存储,并找到一个包含更多Github星星等的软件包。

查看此页面以了解有关 Web 存储 API 的更多信息。