如何从LocalStorage检索值

tkamath99

我正在尝试测试html5 localStorage功能。出于某种原因,每当刷新页面后尝试从存储中检索值时,我都不会得到任何值。我的点击功能将值存储在本地。但是,当我刷新页面时,它不显示值。

src / app.component.ts文件

>import { Component } from '@angular/core';

>export class MyItems {
  >value: string;
  >constructor(value:string){
    >this.value = value;
 > }
>}
>@Component({
  >selector: 'my-app',
  >templateUrl: './app.component.html',
  >styleUrls: [ './app.component.css' ]
>})
>export class AppComponent  {
  >title = "Working with Angular";
  >myItems: MyItems[] = new Array();
  >IsForUpdate: boolean = false;
  >newItem: any = {};
 > updatedItem;

  >constructor(){
    >this.myItems.push(    
      >new MyItems("First Value"),    
      >new MyItems("Second Value"),    
      >new MyItems("Third Value"),    
      >new MyItems("Forth Value"),    
      >new MyItems("Fifth Value")    
    >);
    >localStorage.setItem("Values", JSON.stringify(MyItems));
    >var getValues = localStorage.getItem("Values");

  >}

 >AddItem() {    
   >this.myItems.push(    
    > this.newItem    
   >);    
   >this.newItem = {};
   >localStorage.setItem('dataSource', this.newItem);
   >localStorage.getItem('dataSource');    
  // console.log(localStorage.getItem('dataSource'));
> }  


 >EditItems(i){
   >this.newItem.value = this.myItems[i].value;
   >this.updatedItem = i;
   >this.IsForUpdate = true;
 >}



> UpdateItem(){
   >let data = this.updatedItem;
   >for(let i=0; i < this.myItems.length; i++){
    > if(i == data){
      >this.myItems[i].value = this.newItem.value;
     >}
  > }
    >this.IsForUpdate = false;
   > this.newItem = {};
 >}


 >DeleteItem(i) {
  >var confirmMe = confirm('Do you want to Delete it ?');
  >if(confirmMe == true){
      >this.myItems.splice(i, 1); 
  >} else {
   > alert("You cancelled the Operation");
  >}  

>}  
>}
wentjun

如果您尝试将数组或对象存储在localStorage中,则需要将其转换为字符串格式,因为localStorage仅支持存储字符串值。您可以将JSON.stringify()用于此目的。

localStorage.setItem('Values', JSON.stringify(this.newItem));

localStorage.setItem('dataSource', JSON.stringify(this.items));

同样,当您需要从localStorage检索项目时,可以使用JSON.parse()将其转换回数组或对象。

const storedItems = JSON.parse(localStorage.getItem('dataSource'));

在构造函数上,您使填充数组的方法过于复杂。填充myItems数组后,可以将其存储在localStorage中。

在您的addItem()方法上,您可以简单地将新项目推入myItems数组,然后调用localStorage.setItem(),它将覆盖存储在Values上的先前值

myItems: string[] = [];

constructor(){
  console.log(JSON.parse(localStorage.getItem('Values')));

  this.myItems.push('First Value', 'First Value', 'Third Value', 'Forth Value', 'Fifth Value');
  localStorage.setItem('Values', JSON.stringify(this.myItems));
}

addItem() {
  const newItem = ''; //replace that with any value you desire
  this.myItems.push(newItem)
  localStorage.setItem('Values', JSON.stringify(this.myItems));
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何检索以前的localStorage值?

来自分类Dev

如何检索以前的localStorage值?

来自分类Dev

检索以某些单词开头的localStorage值

来自分类Dev

如何检索window.localStorage.storedparameters?

来自分类Dev

如何检索存储在 localStorage 中的对象的变量?

来自分类Dev

除非更改,如何在localstorage中设置select下拉列表的值并检索它以及将其设置为默认值?

来自分类Dev

如何从mongoDB检索值?

来自分类Dev

如何从 datePickerDialog 检索值?

来自分类Dev

如何检索“总计”的值

来自分类Dev

如何使localStorage值为true?

来自分类Dev

如何从localstorage恢复javascript值?

来自分类Dev

如何从值检索HashTable键?

来自分类Dev

如何从DataFrame检索单个值

来自分类Dev

如何从此对象检索值

来自分类Dev

如何从数据ID检索值?

来自分类Dev

如何检索RadioGroup的选定值

来自分类Dev

如何从枚举中检索值?

来自分类Dev

如何从文本中检索值

来自分类Dev

如何将图像存储和检索到localStorage?

来自分类Dev

从localStorage检索数据

来自分类Dev

从localStorage检索数值数据

来自分类Dev

从$ localstorage检索变量

来自分类Dev

如何获取存储在localStorage中的对象的值?

来自分类Dev

如何在angularjs中删除localstorage值

来自分类Dev

将多个值添加到localStorage,然后在JavaScript中检索随机值

来自分类Dev

将多个值保存到LocalStorage中的相同类型,然后检索值

来自分类Dev

JavaScript / Ionic2-为什么我无法检索localStorage值?

来自分类Dev

如何使用数组检索DataTable列的值?

来自分类Dev

如何检索包含哈希值的GET变量