首页 > 解决方案 > 插值内的 Angular 5 条件

问题描述

UTQG
{{ x?.a }}{{ x?.b }}{{ x?.c }}

你好,

这是现有的一段代码。如果 x?.a=== undefined x?.b=== undefined x?.c === undefined,我想显示“N/A”。这三个都是字符串。如果其中任何一个具有值,它应该显示字符串的值。

这是我想出的一段代码

UTQG
{{ x?.a === 未定义 && x?.b === 未定义 && x?.c === 未定义?x?.a + x?.b + x?.c : 'N/A'}}

但在 html 上,当字段有值时显示 NaN,当所有字段都未定义时显示 N/A。

有人可以建议我在这里做错了什么。

标签: htmlangularangular5conditional-statementsinterpolation

解决方案


我会去ngIf else这里。N/A使用when all are显示元素undefined,否则显示所有具有值的属性。像这样:

<p *ngIf="!x?.a && !x?.b && !x?.c; else elseTemplate">
  N/A
</p>

<ng-template #elseTemplate>
  <p>
    {{ x?.a }} {{ x?.b }} {{ x?.c }}
  </p>
</ng-template>

演示:堆栈闪电战


推荐阅读