1. ホーム
  2. javascript

[解決済み] Angularjs 式の if-then-else 構文

2022-09-29 18:54:46

質問

例えば、$scope.isExists(item)という関数があり、bool値を返さなければなりません。 私はこのようなものが欲しいです。

<div ng-repeater="item in items">
    <div>{{item.description}}</div>
    <div>{{isExists(item) ? 'available' : 'oh no, you don't have it'}}</div>
</div>

文字列を返す関数が使えることは知っていますが、if-then-else構造を式に使える可能性があることに興味があります。 ありがとうございます。

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

Angular式は1.1.5以前は三項演算子をサポートしていませんが、このようにエミュレートすることができます。

condition && (answer if true) || (answer if false)

ということで、例としては以下のような感じでしょうか。

<div ng-repeater="item in items">
    <div>{{item.description}}</div>
    <div>{{isExists(item) && 'available' || 'oh no, you don't have it'}}</div>
</div>

UPDATEです。 Angular 1.1.5で三項演算子がサポートされました。

{{myVar === "two" ? "it's true" : "it's false"}}