私の AngulaJS 駆動のフロントエンドは、ローカルJSON
ファイルからデータを取得し、後で API に切り替えます。データは、Project
オブジェクトのリストがネストされたImage
オブジェクトのリストです。このデータをループで表示しています:
<div id="projects" ng-app="portfolio">
<div id="projectsList" ng-controller="ProjectsListController as projectsList">
<div class="projectItem" ng-repeat="projectItem in projectsList.projectsListData._embedded.projects">
<div class="project-image">
<img
ng-src="{{projectItem._embedded.images[0].src}}"
title="{{projectItem.title}} - {{projectItem._embedded.images[0].title}}"
alt="{{projectItem.title}} - {{projectItem._embedded.images[0].title}}"
/>
</div>
</div>
</div>
</div>
ただし、画像src
が無効な場合があります (エラー404
)。images[0]
最初の画像 ( ) が見つからないようなプロジェクトはスキップしたほうがよいでしょう。スクリプトが無関係なオブジェクトをスキップするようにする方法は?
編集
すでに 3 つの回答を得ていますが、解決策がうまくいかず、問題を正確に説明したいと思います。
画像のsrc
プロパティは常に設定されています。それは問題ではありません。つまり、設定されているかどうか (ng-show="projectItem._embedded.images[0].src != ''"
または などng-if="{{projectItem._embedded.images[0].src}}"
)のチェックは機能しません。機能しません。
機能しません-src
プロパティが設定されています。これは間違っています (404
エラーの原因になります) が、設定されており、「無関係な」オブジェクトに対してもprojectItem._embedded.images[0].src != ''
返されます。true