我的模板中有这样的东西:
<span *ngIf="selectedSport.key === 'walking'"> steps </span>
<span *ngIf="selectedSport.key !== 'walking'"> km </span>
Run Code Online (Sandbox Code Playgroud)
我觉得这个拼写很难看,而且这两条线就是这个......呃.所以我试着寻找替代方案.
NgIfElse
<span *ngIf="selectedSport.key === 'walking'; else elseSpan"> steps </span>
<ng-template #elseSpan> km </ng-template>
Run Code Online (Sandbox Code Playgroud)
我发现这个更好,但是在多条件的情况下使用它可能很棘手*ngIf="A && B".我们在模板中仍然有两个代码行...
获得功能
<span> {{getUnit(selectedSport.key)}} </span>
Run Code Online (Sandbox Code Playgroud)
getUnit(sportKey: string): string {
return sportKey === 'walking' ? 'steps' : 'km';
}
Run Code Online (Sandbox Code Playgroud)
随着模板的可读性越来越高,这样做会更好.但是我不希望在我的组件中添加一个函数.
你知道Angular 2+模板是否支持getUnit函数中的三元运算符?
你有更好的主意吗?