无法读取Angular中未定义的属性“描述”

时间:2019-03-24 11:01:29

标签: angular

在我的Angular 4项目中,该项目运行正常,但是在控制台窗口中出现了40次“无法读取未定义的属性'Description'的错误”之类的错误。

我的html代码如下:

<div [innerHtml]="helpObject.Description"></div>

这是我的组件代码;

export class FooterComponent {
   helpObject: any;

   errorMsg: string;

   constructor(private _emService: EmService) {
   }

   ngOnInit() {
      this._emService.getContent("help")
        .subscribe(resData => this.helpObject = resData,
            resError => this.errorMsg = resError);
   }
}

1 个答案:

答案 0 :(得分:1)

您可能在这里犯了一个菜鸟错误,但是可以通过在等待数据时使用helpObject上的safe navigation operator来保护它免受空值或未定义的值的影响, (当时尚未定义)要呈现:

<div [innerHtml]="helpObject?.Description"></div>

或者,您可以使用*ngIf解决您的问题。这样可以防止在定义helpObject之前渲染该div。

<div *ngIf="helpObject">
..
<div [innerHtml]="helpObject?.Description"></div>
..
</div>