【问题标题】:Storing/retrieving array from localstorage in Angular 2+在 Angular 2+ 中从本地存储中存储/检索数组
【发布时间】:2017-10-03 23:21:35
【问题描述】:

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

应用程序将数组从服务器检索到一个名为 aToDo 的“任意”类型变量中:

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

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

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

它从本地存储中检索为:

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

this.aToDo 的 console.log 显示:

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

但是到了这个阶段,记录 this.aToDo.qoption 会产生“未定义”,而用于列出数组内容的 *ngFor 会产生该死的错误:

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

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

【问题讨论】:

    标签: angular typescript


    【解决方案1】:

    两件事:

    1. console.log 默认情况下会在您的输出旁边输出“未定义”,因为它不是返回函数。这很正常。
    2. aToDo 是一个对象,而不是一个数组。您不能在对象上使用 ngFor。

    【讨论】:

    • 感谢您让我步入正轨。终于通过交互 objectKeys(aToDo) 达到了我想要的目的。干杯/T
    猜你喜欢
    • 1970-01-01
    • 2019-11-26
    • 1970-01-01
    • 2017-08-04
    • 1970-01-01
    • 2014-05-10
    • 2014-12-04
    • 2016-08-18
    • 2018-05-15
    相关资源
    最近更新 更多