1. ホーム
  2. javascript

[解決済み] Angularjs テンプレート バインディングが Null / 未定義の場合のデフォルト値 (フィルター付き)

2022-04-14 17:59:18

質問

Angularの日付フィルターを使用して、日付である'date'というモデル属性を表示するテンプレートバインディングがあります。

<span class="gallery-date">{{gallery.date | date:'mediumDate'}}</span>

ここまでは順調です。しかし、現時点では、日付フィールドに値がない場合、バインディングは何も表示しません。しかし、日付がない場合は文字列 'Various' を表示するようにしたい。

二項演算子を使って基本的なロジックを得ることができますね。

<span class="gallery-date">{{gallery.date || 'Various'}}</span>

しかし、日付フィルターで動作させることができません。

<span class="gallery-date">{{gallery.date | date:'mediumDate' || "Various"}}</span>

日付フィルターと一緒に二項演算子を使用するにはどうすればよいですか?

どのように解決するのですか?

結局、式の左辺をソフトブラケットでくくるだけでいいことがわかった。

<span class="gallery-date">{{(gallery.date | date:'mediumDate') || "Various"}}</span>