【发布时间】:2019-11-11 02:06:18
【问题描述】:
我的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_name 和Status 的详细信息。控制台获取"ERROR TypeError: Cannot read property 'project_name' of undefined"
如果我添加了“?”喜欢
{{paymentDetails?.project_name}}
不显示详细信息。但是控制台没有任何错误。
同样的编码方法在 Angular 5/6 中运行良好。
Angular 8 有什么特殊方法???
TS 文件中我的控制台输出是
{
project_name: "test",
status: "true"
}
但解决方案不起作用
有人知道怎么解决吗?
【问题讨论】:
-
如果在 html 中打印
paymentDetails会发生什么?尝试将<strong>{{paymentDetails.project_name}}</strong><br/>替换为<strong>{{paymentDetails | json }}</strong><br/>以进行调试 -
@dco { project_name: "test", status: "true" } 显示
-
@dco 有什么解决办法吗?
-
一切似乎都很好,检查您的组件是否没有
changeDetection: ChangeDetectiongStrategy.OnPush如果是,请将其删除并改回“?”在 html 标记中,然后将其添加回来并在订阅中进行更改检测。 -
@dco 我按照alligator.io/angular/change-detection-strategy 添加。我的错误已解决。谢谢
标签: angular8