2013-08-21 14 views
0

我試圖使用ng-if表達式將帖子呈現爲圖像或文本,具體取決於內容。第一條線有時會呈現爲真,有時在ng-repeat-loop中爲假,但圖像和跨度都會在每個迭代中顯示。ng-if表達式總是呈現爲真

<a href="{{post.url}}"> 
    {{post.type == 0}} 
    <img ng-if="post.type == 0" src="{{post.content}}" /> 
    <span ng-if="post.type == 1">{{post.content}}<span> 
</a> 
+0

做工精細這裏:http://plnkr.co/edit/vKUB7aeHR6enDfOxXL5i? p =預覽 –

+0

你可以發佈帖子的數據結構嗎? – zsong

回答

2

您「post.type」的值定義爲等於0或1.使用「==」操作符,以確定該值是否等於比較

<a href="{{post.url}}"> 
    {{post.type = 0}} 
    <img ng-if="post.type == 0" src="{{post.content}}" /> 
    <span ng-if="post.type == 1">{{post.content}}<span> 
</a> 

一種不同做法:

{{post.type = 1}} 
<a ng-if="post.type == 0" href="#"><img ng-if="post.type == 0" src="{{post.content}}" /></a> 
<a ng-if="post.type == 1"><span>{{post.content}}</span></a> 
+0

我的不好,雖然沒有解決問題... – Himmators

+0

設置一個plunker進一步調試。我可能會以不同的方式解決您的困境的整體解決方案。 –

+0

例如,我可能會在兩個不同的元素上使用ng-if,而不是a元素的內部html。 –

-2
  1. 有時在複雜的HTML不關閉標籤可以創建一個問題,你的跨度不關閉(無)。
  2. 只是爲了一個測試案例嘗試改變爲ng-show。
  3. JB Nizet在評論中給了你一個有效的plnkr,所以我認爲之前有一個問題。
1

嘗試使用這樣的:

NG-IF = 「post.type == '0'」

+0

如果使用字符串,它將有助於對抗幫助。 – Vicxx