从Angular 2+中的localstorage存储/检索数组

时间:2017-10-03 23:21:35

标签: angular typescript

在我的Angular 4应用程序中尝试在localstorage中存储和检索数组时,我遗漏了一些基本内容。

应用程序将服务器中的数组检索为名为aToDo的“any”类型变量:

{"qoption":"Trap Surveyor (<em>Competency for CM OAP<\/em>)"}

并通过以下方式存储在localstorage中:

localStorage.setItem('aToDo',JSON.stringify(this.aToDo));

它从localstorage中检索为:

this.aToDo = JSON.parse(localStorage.getItem('aToDo'));

this.aToDo的console.log显示:

{"qoption":"Trap Surveyor (<em>Competency for CM OAP<\/em>)"}

但是在这个阶段,事情被记录为记录this.aToDo.qoption产生'undefined'并且用于列出数组内容的* ngFor会产生该死的错误:

Error: Cannot find a differ supporting object '{"qoption":"Trap Surveyor (<em>Competency for CM OAP<\/em>)"}' of type 'string'. 

我的错误在哪里?感谢/汤姆

1 个答案:

答案 0 :(得分:2)

两件事:

  1. console.log将输出&#34; undefined&#34;默认情况下,与输出一起,因为它不是返回函数。这很正常。
  2. aToDo是一个对象,而不是一个数组。您不能在对象上使用ngFor。