2017-07-19 37 views
3

我試圖以類似的東西SRC的路徑:調用一個函數來定義

<img id="icon" class="cercle icon" src="getIcon({{item.status}})" alt=""> 

功能是:

getIcon(status){ 
    switch (status) { 
     case 'Ongoing': 
     return '../../../../assets/img/icon/PinPlot.png'; 
     case 'Signaled': 
     return '../../../../assets/img/icon/PinWarning.png'; 
     case 'Finished': 

     default: 
     return '../../../../assets/img/icon/Pin red.png'; 
    } 
    } 

但我得到的是沒有圖像如果沒有找到。但沒有錯誤也沒有警告。

有什麼想法?

+0

那麼,你用什麼?你的標籤是角度的...你使用它嗎?還是隻有Typescript? – Stony

+0

Angular2和typescript 2.3.3 –

+0

https://stackoverflow.com/questions/37965667/whats-equivalent-to-ngsrc-in-angular2 – Stony

回答

7

使用[src]

<img id="icon" class="cercle icon" [src]="getIcon(item.status)" alt=""> 

而且還你不需要getIcon({{item.status}})但沒有{{}}

+1

就是這樣!謝謝 –

+0

@ An-droid我很高興我有幫助。乾杯! ;) – SrAxi

2

儘管以前使用[src]的答案是我推薦的方式,但您現有的技術無法正常工作的原因是因爲您沒有正確使用插值(即{{....}})。

您有:

<img id="icon" class="cercle icon" src="getIcon({{item.status}})" alt=""> 

,當你可能是指:

<img id="icon" class="cercle icon" src="{{ getIcon(item.status) }}" alt=""> 

說明:

你可以這樣想的吧。在您的模板中,{{}}之外的所有內容都被視爲文字字符串。只有雙括號內的東西才被視爲要執行的代碼。插值後

src="getIcon(Ongoing)" 

,因爲你要只包括而不是整個的括號內item.status,:那麼,你的榜樣,因爲你把你的牙套,你最終以字符串表達。

相關問題