【问题标题】:How display object in angular?如何以角度显示对象?
【发布时间】:2021-01-07 07:51:43
【问题描述】:

当我尝试从后端显示特定对象时,它会将其显示为 [object Object], 角码:

InstanceId : any ;
     ngOnInit() {

    this.services.getInstanceId().subscribe(data =>{
      console.log("datajson2 is : " + JSON.stringify(data));

      this.InstanceId = data;
      console.log("InstanceId is : " + InstanceId);
    
    } 
  }

json 对象是:

datajson2 is : {"case-id":"13","case-description":"vacation_Approval","case-owner":null,"case-status":1,"case-definition-id":"get_started.vacation_Approval","container-id":"get_started_1.0.0-SNAPSHOT","case-started-at":1609848097820,"case-completed-at":null,"case-completion-msg":"","case-sla-compliance":0,"case-sla-due-date":null,"case-file":null,"case-milestones":null,"case-stages":null,"case-roles":null}

应该包含 datajson2 的错误变量:

InstanceId is : [object Object]

【问题讨论】:

  • 用逗号代替加号:console.log("InstanceId is: ", InstanceId)
  • 谢谢迈克尔,它的工作,但是当我尝试在模板中将它显示为 {{ Instance Id.case-id}} 它给了我'Nan'
  • 连字符一定是导致问题的原因。改用括号表示法访问属性:<td>{{ Instance Id["case-id"]}}</td>
  • 非常感谢你,迈克尔,你能否重播我的问题作为答案而不是评论给其他人标记它?
  • 我已经发布了答案。

标签: json angular object


【解决方案1】:

在您的模板中使用 pre 标记和 json 管道,

<pre> {{ InstanceId | json }} </pre>

【讨论】:

  • 谢谢,它可以工作,但是当我尝试在模板中将它显示为 {{ Instance Id.case-id}} 它给了我'Nan'
  • 这意味着您已经收到 Instance Id.case-id 作为 NAN
【解决方案2】:

1.在控制器中连接字符串和对象

您需要使用逗号而不是加号将对象记录在控制器中。

console.log("InstanceId is: ", InstanceId)

而不是

console.log("InstanceId is: " + InstanceId)

2。在模板中渲染对象属性

属性中的连字符必须为呈现的模板进行模糊处理才能访问它。您可以在此处使用括号表示法而不是点表示法。

<td>{{ Instance Id["case-id"]}}</td>

而不是

<td>{{ Instance Id.case-id}}</td>

【讨论】:

    【解决方案3】:

    this.instanceId = JSON.parse(data);应该做的伎俩

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-24
      • 1970-01-01
      • 2017-11-05
      • 2017-08-29
      • 1970-01-01
      • 2016-11-14
      • 2018-06-09
      • 2019-08-08
      相关资源
      最近更新 更多