2013-07-29 53 views
4

我正在循環顯示一系列事物,並且如果某個事物有圖像,我想顯示它。Angular JS:使用ng-switch並檢查文件是否存在

,但如果事情沒有一個形象,我想顯示默認文本:

<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-開關功能,從而不拋出這個錯誤?的src

回答

8

使用ng-src相反,這是一個從DOC:

採用了棱角分明的標記像{{哈希}}在src屬性不工作的權利:瀏覽器將與網址提取文字{{hash}}直到Angular替換{{hash}}中的表達式。 ngSrc指令解決了這個問題。

<img ng-src="/img/myThings/{{myThing.id}}" /> 
+0

太棒了。這完全有效! – SeanPlusPlus