首页 > 解决方案 > 角控制台异常

问题描述

我在角度 6 中得到了这个控制台异常:

_co.user.address is undefined

这是从服务接收到的 json 对象信息:

{"name":"John Doe","address":{"city":"Las Vegas"}}

这是网页代码:

<p>UserName: {{ user.name }} </p>
<p>City: {{ user.address.city }} </p>

这是用户类 ts 代码:

export class UserComponent implements OnInit {
  user: Object;
  constructor(private data: DataService) { }
    ngOnInit() {
      this.data.getUser().subscribe(
        data => this.user = data
      );
    }
 }

但是,网页中的城市信息显示正确。

标签: angular

解决方案


用于safe navigation operator(?)处理控制台错误,因为正在异步检索数据

<p>UserName: {{ user?.name }} </p>
<p>City: {{ user?.address?.city }} </p>

如果要在模板上绑定大量变量,也可以使用 *ngIf,

<ng-template *ngIf="user">
    <p>UserName: {{ user?.name }} </p>
    <p>City: {{ user?.address?.city }} </p>
</ng-template>

推荐阅读