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

如何在Angular中展示JSON数据内嵌套对象的parent_category.name字段值

实现方案

方案1:模板直接判断(轻量场景首选)

直接在模板插值中使用Angular安全导航运算符?.+空值合并运算符??做判断,无需修改TS逻辑,写法简单高效:

<mat-select formControlName="parent_category">
  <mat-option>--</mat-option>
  <mat-option *ngFor="let p_g of mydata" [value]="p_g.id">
    {{ p_g.parent_category?.name ?? p_g.name }}
  </mat-option>
</mat-select>

如果使用的Angular版本较低不支持??运算符,可替换为三元表达式实现相同效果:

{{ p_g.parent_category ? p_g.parent_category.name : p_g.name }}

方案2:TS层预处理数据(复杂场景首选)

如果后续展示规则可能调整,建议将展示逻辑收敛到TS层处理,视图层只做渲染,逻辑更易维护:
首先在TS文件拿到数据源后做预处理:

// 示例:接口请求获取到数据后格式化
this.mydata = originData.map(item => ({
  ...item,
  // 提前计算好要展示的名称
  displayName: item.parent_category ? item.parent_category.name : item.name
}))

修改模板直接使用预处理好的字段即可:

<mat-select formControlName="parent_category">
  <mat-option>--</mat-option>
  <mat-option *ngFor="let p_g of mydata" [value]="p_g.id">
    {{ p_g.displayName }}
  </mat-option>
</mat-select>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.20 10:15:03