【发布时间】:2019-09-07 00:48:33
【问题描述】:
我正在构建一个模板,其中可能有也可能没有一些值;例如,我需要基于来自 JSON 响应的多个字段构建一个 URL 字符串。
<a class="url">{{ ad.domain }}/{{ ad.path1 }}/{{ ad.path2 }}...</a>
但是如果字符串的某些部分为空,我正在考虑如何处理这种情况;比如没有 path2 的值。
我可以在锚标记中使用 ng-container 和 *ngIf 指令,但它最终看起来非常混乱和臃肿:
<a class="url">{{ ad.domain }}<ng-container *ngIf="ad.path1 !== ''">/{{ ad.path1 }}</ng-container><ng-container *ngIf="ad.path2 !== ''">/{{ ad.path2 }}</ng-container>...</a>
它确实完成了工作,但我想知道是否还有其他一些 Angular 方式可以有效地完成这项工作。
【问题讨论】:
-
通常,当事情“臃肿”时,是时候创建一个新组件了。我最近不得不做一些类似的事情,我最终创建了一个带有输入数组元素的自定义组件,然后我所要做的就是使用 ngFor 指令循环,它非常干净 IMO。
-
嗯,它是一个单独的组件,我只显示广告的信息,问题是广告通常有多个部分,URL 有时有不同的部分,所以我只是试图控制何时显示其中一些片段
-
请查看我最初的评论,我已更新。
-
听起来确实更干净,但同时我不确定为这个 URL 创建一个组件是否太多/:我明白你的意思,我会考虑一下
-
标签: html angular angular-ng-if