ng-if表达式总是呈现为true

时间:2013-08-21 13:24:26

标签: angularjs

我正在尝试使用ng-if表达式将帖子呈现为图像或文本,具体取决于内容。第一条线有时会呈现真,有时会在ng-repeat-loop中呈现,但是每次迭代都会显示图像和跨度。

<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>

3 个答案:

答案 0 :(得分: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>

答案 1 :(得分:1)

尝试使用它:

ng-if =&#34; post.type ==&#39; 0&#39;&#34;

答案 2 :(得分:-2)

  1. 有时在复杂的HTML中,不关闭标记会产生问题,而您的范围也不会关闭(否)。
  2. 仅针对测试用例尝试更改为ng-show。
  3. JB Nizet在评论中给了你一个工作的plnkr所以我认为之前有一个问题。