リソースを表示する前に、そのリソースが利用可能かどうかを確認したいと思います。私はここAngularJSであることを行うには良い方法を見つけた:Angular js - isImage() - check if it's image by urlAngulerJSのシンプルな工場は無限のサイクルループを引き起こします - なぜですか?
しかし、私はそれを実装しようとするたびに、無限ループがトリガされ、私はcodepenで最も単純な形式に機能を削減しても:https://codepen.io/anon/pen/mBwgbE
テスト画像機能(JS)
$scope.testImage = function(src) {
console.log('function triggered');
Utils.isImage(src).then(function(result) {
return "result";
});
};
使用(HTML)
<h3>Image link broken<h3>
<p>{{testImage('anylink')}}</p>
<h3>Image link OK<h3>
<p>{{testImage('http://lorempixel.com/400/200/sports/1/')}}</p>
誰でもこの動作を私に説明し、解決する手助けはできますか?
これは動的に機能しますか?データベースから読み取るために何百もの画像が存在する可能性があります – Leon
ありがとうございました – Leon
データベース要求を作成し、結果をループして結果をいくつかの配列に保存する必要があります。テンプレートが補間されるたびにではなく、コントローラーが作成されたときにこれを1回だけ確実に実行する必要があります。 –