angular8 - 错误类型错误:无法读取未定义的属性'project_name' - Angular 8
问题描述
我的 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"
}
但解决方案不起作用
有谁知道如何解决?
解决方案
一切似乎都很好,检查您的组件是否没有
changeDetection: ChangeDetectiongStrategy.OnPush
如果是这样,请将其删除并放回“?” 在 html 标记中,然后将其添加回来并在订阅中进行更改检测
推荐阅读
- node.js - 下一个js调试不启动
- asp.net-mvc - 我们是否使用 Electron.Net 将 ASP.Net MVC 转换为桌面应用程序?
- kubernetes - 如何以可读的方式将两台主机之间的 udp 流量镜像到第三台远程 k8s 主机?
- java - 在 Spring WebServices 中实现标记接口
- opencart - 为什么点击任何商品卡Opencart 3.0.3.7后出现错误550
- javascript - 如何在 ejs 中包含页面(我要包含的页面也有包含语句)
- chromium - Chromium OS - 从 USB 启动时卡在“本地映像 A”上
- php - AJAX 请求不将数据返回到选择选项框
- spring - 文件系统事件并不总是在 SMB 挂载文件夹上触发
- shell - PRELOAD 在鱼壳上的等效写法是什么?