Angularを使用してモデルデータを別の画像として表現したいのですが、それを行うための「正しい」方法を見つけるのに問題があります。式に関するAngularAPIのドキュメントには、条件式は許可されていないと記載されています...
非常に単純化して、モデルデータはAJAXを介してフェッチされ、ルーター上の各インターフェイスのステータスを表示します。何かのようなもの:
$scope.interfaces = ["UP", "DOWN", "UP", "UP", "UP", "UP", "DOWN"]
したがって、Angularでは、各インターフェースの状態を次のように表示できます。
<ul>
<li ng-repeat=interface in interfaces>{{interface}}
</ul>
しかし、モデルの値の代わりに、適切な画像を表示したいと思います。この一般的な考え方に従ったもの。
<ul>
<li ng-repeat=interface in interfaces>
{{if interface=="UP"}}
<img src='green-checkmark.png'>
{{else}}
<img src='big-black-X.png'>
{{/if}}
</ul>
(Emberはこのタイプの構成をサポートしていると思います)
もちろん、実際のモデルデータに基づいて画像のURLを返すようにコントローラーを変更することもできますが、それはモデルとビューの分離に違反しているようです。
このSO投稿では、ディレクティブを使用してbg-imgソースを変更することを提案しました。しかし、その後、テンプレートではなくJSにURLを配置することに戻ります...
すべての提案に感謝します。ありがとう。
タイプミスは許してください