0

Angular Local Storage在我的项目中使用。在localStorage.setItem我试图将多个值存储为第二个参数

例如 - 而不是存储rec为第二个参数

localStorage.setItem('Data', JSON.stringify(rec));

我想存储以下值。我怎样才能做到这一点?

 this.firstName = data!.data2;
 this.middleName = data!.data3;
 this.lastName = data!.data1;

下面是我的功能

updateTheAmazonFields(rec: Data, new_value: HTMLTableDataCellElement) {
  const { data1, data2, data3} = rec;
  this.records.replaceAndGetNewRec({target_ui, data1, data3, data2}).subscribe(data => {
  this.processIncomingRecord(data);

// want to store following values
      this.firstName = data!.data2;
      this.middleName = data!.data3;
      this.lastName = data!.data1;


  localStorage.setItem('Data', JSON.stringify(rec)); ---->>>>> Here


  })
4

2 回答 2

0

因此,本地存储保存了键/值对。您不想更改密钥,而是使用密钥存储对象。这是你应该做的:

const data = {
              firstName: this.firstName, 
              middleName: this.middleName,
              lastName: this.lastName
              }
localStorage.setItem('data', JSON.stringify(data));

每次您使用此键设置项目时,数据将被替换为新的。使用 getItem,您可以获得值:

const data = JSON.parse(localStorage.getItem('key'));
console.log(data.firstName);
于 2021-04-02T05:36:27.410 回答
0

你可以试试

localStorage.setItem('data_1', JSON.stringify(this.firstName));
localStorage.setItem('data_2', JSON.stringify(this.middleName));
localStorage.setItem('data_3', JSON.stringify(this.lastName));
于 2021-04-02T04:57:42.670 回答