错误TypeError:无法读取未定义的属性'project_name'-Angular 8

时间:2019-11-09 13:28:52

标签: angular8

我的ts代码编码是


this.api.getPay(this.donationId).subscribe(
    data => {
        this.paymentData = data;
        this.paymentDetails = this.paymentData.donationDetails[0];
    }
)

我的html代码就像

Project :   <strong>{{paymentDetails.project_name}}</strong><br/>

Status:     <strong>{{paymentDetails?.status}}</strong><br/>

现在将显示project_nameStatus的详细信息。控制台获取"ERROR TypeError: Cannot read property 'project_name' of undefined"

如果我添加“?”像


{{paymentDetails?.project_name}}

没有显示详细信息。但是控制台没有任何错误。

同样的编码方法在Angular 5/6中也能很好地工作。

Angular 8的任何特殊方法

TS文件中的MY控制台输出为

{
project_name: "test",
status: "true"
}

上一个问题是How to Display Values in Angular 8 Shows ERROR TypeError: Cannot read property 'project_name' of undefined

但解决方案不起作用

有人知道如何解决吗?

1 个答案:

答案 0 :(得分:0)

一切似乎都很好,请检查您的组件是否没有

changeDetection: ChangeDetectiongStrategy.OnPush 

如果是,请将其删除并放回'?'在html标记中,然后将其重新添加并在订阅中进行更改检测