条件に基づいて2つの値から選択し、その選択結果をパイプに渡したい場合があります。
テンプレートでJavaScriptの三項演算子(?:
)を使用して選択できます。
注意してください!パイプ演算子はJavaScriptの三項演算子(?:
)よりも優先順位が高いです。
左から右に評価されるかのように式を記述した場合、結果は予想外になる可能性があります。例えば、
condition ? a : b | pipe
これは次のように解析されます。
condition ? a : (b | pipe)
b
の値はpipe
を通過しますが、a
の値は通過しません。
パイプが三項演算子の結果に適用されるようにするには、式全体を括弧で囲みます。例えば、
(condition ? a : b) | pipe
一般的に、Angularが意図したとおりに式を評価するように、常に括弧を使用する必要があります。