【发布时间】:2019-01-21 09:34:04
【问题描述】:
我的模板中有这样的内容:
<span *ngIf="selectedSport.key === 'walking'"> steps </span>
<span *ngIf="selectedSport.key !== 'walking'"> km </span>
我发现这个拼写很丑陋,有两行代表这个......嗯。所以我试图寻找替代方案。
NgIfElse
<span *ngIf="selectedSport.key === 'walking'; else elseSpan"> steps </span>
<ng-template #elseSpan> km </ng-template>
我发现这个更好,但是在像*ngIf="A && B" 这样的多条件情况下使用它可能会很棘手。而且我们在模板中还有两行代码...
获取函数
<span> {{getUnit(selectedSport.key)}} </span>
getUnit(sportKey: string): string {
return sportKey === 'walking' ? 'steps' : 'km';
}
这会更好,因为模板变得更具可读性。但是我不想为此在我的组件中添加一个函数。
您知道 Angular 2+ 模板是否支持像 getUnit 函数中的三元运算符?
你有更好的主意吗?
【问题讨论】:
-
你试过
<span> {{selectedSport.key === 'walking' ? 'steps' : 'km')}} </span>吗?
标签: html angular typescript