4

私は物事のリストをループしており、物事に画像がある場合はそれを表示したいと考えています。

しかし、ものに画像がない場合は、デフォルトのテキストを表示したい:

<div ng-repeat="myThing in myThings>
  <div ng-switch on="{{myThing.img}}" >
    <span ng-switch-when="{{myThing.img}}">
      <img src="/img/myThings/{{myThing.id}}" />
    </span>
    <span ng-switch-default>No Image</span>
  </div>
</div>

これは機能し、デフォルトのテキストが表示されます。

ただし、ブラウザは存在しない画像を取得しようとしてエラーをスローしています。

http://localhost:9000/img/myThings/%7B%7BmyThing.id%7D%7D 404 (Not Found)

このエラーがスローされないように、この ng-switch 関数をフォーマットする方法はありますか?

4

1 に答える 1

8

の代わりにng-srcを使用してくださいsrc。これはドキュメントからのものです。

src 属性で {{hash}} のような Angular マークアップを使用すると正しく動作しません。ブラウザは、Angular が {{hash}} 内の式を置き換えるまで、リテラル テキスト {{hash}} を使用して URL から取得します。ngSrc ディレクティブはこの問題を解決します。

<img ng-src="/img/myThings/{{myThing.id}}" />
于 2013-07-29T19:37:52.093 に答える