私のテンプレートには次のようなものがあります:
<span *ngIf="selectedSport.key === 'walking'"> steps </span>
<span *ngIf="selectedSport.key !== 'walking'"> km </span>
私はこの綴りをかなり醜く見つけました、そしてこのための2行... Meh。だから私はこれに代わるものを探してみました。
NgIfElse
<span *ngIf="selectedSport.key === 'walking'; else elseSpan"> steps </span>
<ng-template #elseSpan> km </ng-template>
私はこれをより良いものとして見つけましたが、*ngIf="A && B"
のような複数条件の場合に使用するのは難しいかもしれません。そして、テンプレートにはまだ2つのコード行があります...
関数を取得
<span> {{getUnit(selectedSport.key)}} </span>
getUnit(sportKey: string): string {
return sportKey === 'walking' ? 'steps' : 'km';
}
テンプレートが読みやすくなるので、これは非常に優れています。ただし、このためにコンポーネントに関数を追加しないでください。
Angular 2+テンプレートがgetUnit
関数のように三項演算子をサポートするかどうか知っていますか?
何か良いアイデアはありますか?
<span> {{selectedSport.key === 'walking' ? 'steps' : 'km'}} </span>