【问题标题】:Angular 6 - value in textarea showing as Object ObjectAngular 6 - 文本区域中的值显示为对象对象
【发布时间】:2018-12-01 00:12:08
【问题描述】:

我有一些使用 localstorage 存储并使用 stringify 保存的数据,我想将数据添加到 textarea。

以下是代码部分:

{
  "name":"some name"
}

得到是我正在这样做:

this.mydat = localStorage.getItem('mydata');

我在本地存储中的一个名为 mydata 的变量中保存了这个

所以到 this.mydat 的控制台日志会给我这个:

{
  "name":"some name"
}

现在我想将它添加到 textarea,所以我这样做:

this.con.nativeElement.value = JSON.parse(this.mydat);

这显示为:

[object Object]

在文本区域上。

我想看到的是这样的:

{
    name : 'some name'

}

在我的 textarea 中,我添加了 json 管道:

{{ thecontents | json }}

所以理论上它应该显示一个js对象?

我该如何解决这个问题?

【问题讨论】:

  • 试试这个:this.obj = JSON.parse(this.mydat); console.log(this.obj) 和 html {{this.obj | json}}

标签: json angular typescript local-storage angular6


【解决方案1】:

你需要解析对象,

this.mydat =JSON.parse(localStorage.getItem('mydata'));

然后

{{ mydat | json }}

【讨论】:

    【解决方案2】:

    那是因为如果你想显示字符串,你将一个 Json 对象传递给文本字段

    执行 Json.stringify(you data) 然后将其传递到您的文本字段

    【讨论】:

    • 我试过了,但它显示为 json 而不是 js 对象
    • JSON.stringify(myData, undefined, 4);试试这个
    • js 对象不能在文本字段中显示,除非它们被转换为字符串,但是如果你只想以一种不同于 normla 单行 json 字符串的方式显示它,你可以使用上面的代码
    • 我尝试了上面的代码,但 textarea 显示反斜杠 ("{\"name\":\"some name)
    • jsbin.com/gojoxesero/edit?html,css,js,output 在这里可以正常工作,您可以发布您现在正在尝试的内容吗
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-20
    • 1970-01-01
    • 1970-01-01
    • 2018-02-12
    相关资源
    最近更新 更多