You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular中HTML无法展示JSON对象单个属性的问题

问题根源

你用{{ cu | json }}能正常显示内容,说明cu是Notification类型的数组,而非单个Notification对象。数组本身没有id属性,直接访问cu.id自然会抛出错误。

解决方案

场景1:遍历数组展示所有元素的属性

如果需要展示数组里每一条通知的属性,用*ngFor循环遍历数组:

<div *ngFor="let item of cu">
  通知ID:{{ item.id }}<br>
  通知标题:{{ item.title }} <!-- 替换为你的实际属性字段 -->
</div>

场景2:访问数组中单个元素的属性

如果只需要取数组里某一个特定元素(比如第一个),必须先判断数组是否存在且非空,避免空指针错误:

<div *ngIf="cu && cu.length > 0">
  第一条通知ID:{{ cu[0].id }}
</div>

场景3:修正变量赋值逻辑

如果你原本期望cu是单个Notification对象,检查组件中的赋值代码——大概率是把数组错误赋值给了这个变量:

// 错误示例:将数组赋值给了期望单个对象的变量
this.cu = this.notificationApi.getNotifications(); // 该方法返回Notification[]类型

// 正确示例:取数组中的单个元素(以第一个为例,需加空值判断)
const notifications = this.notificationApi.getNotifications();
this.cu = notifications.length > 0 ? notifications[0] : null;

额外提示:空值安全操作符

如果不确定cu或数组元素是否存在,用Angular的空值安全操作符?.避免报错:

<!-- 遍历场景 -->
<div *ngFor="let item of cu">
  通知ID:{{ item?.id }}
</div>

<!-- 单个元素场景 -->
{{ cu?.[0]?.id }}

内容的提问来源于stack exchange,提问作者Lakshmi Sureshan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 17:42:33