AngularJS - ng-repeat 条件
AngularJS - ng-repeat with a condition
我有一个问题列表要显示。
我想在有描述的问题旁边添加一个问号图标。
<ul class="list-group" data-toggle="items" ng-repeat="ques in questions">
<li class="list-group-item"><input type="checkbox" /> {{ques.question}}
<div ng-if="{{ques.description}}">
<i class="glyphicon glyphicon-question-sign" title="{{ques.description}}"></i>
</div>
</li>
</ul>
所以我添加了所有问题,当它有描述时我想添加一个图标。
上面的代码不起作用,如果你能帮忙的话!
感谢
ng-if="ques.description"
没有花括号,应该这样做,使用最新版本的 angular.js (>1.1)
更多信息,请查看ng-if official documentation
However, if you are using an older version of angular.js, you cannot use the ng-if
directive. It would explain why your glyphicon is always displayed, regardless of the ng-if
condition.
如果是这种情况,这里有一个解决方法:
<div ng-switch="ques.description==null">
<i ng-switch-when="false" class="glyphicon glyphicon-question-sign" title="{{ques.description}}"></i>
</div>
尝试换行:
<div ng-if="{{ques.description}}">
至:
<div ng-if="ques.description">
替换这部分:
<div ng-if="{{ques.description}}">
<i class="glyphicon glyphicon-question-sign" title="{{ques.description}}"></i>
</div>
与 :
<span ng-if="ques.description">
<i class="glyphicon glyphicon-question-sign" title="{{ques.description}}"></i>
</span>
第一件事记住 ng-if="expression"
永远不会使用插值指令 {{}}
它需要一个表达式,如果你检查长度就太好了。
为了更好地绑定 title 属性,请使用 ng-attr-title
,它会在解析 {{ques.description}}
时创建 title 属性。
<div ng-if="ques.description.length > 0">
<i class="glyphicon glyphicon-question-sign" ng-attr-title="{{ques.description}}"></i>
</div>
解决方法在我下面的评论里 post.
问题是我使用的是 angularJS 的 1.0.x 版本,它没有 ng-if 指令。
我下载了一个新的 angular.js,现在可以使用了!
我有一个问题列表要显示。
我想在有描述的问题旁边添加一个问号图标。
<ul class="list-group" data-toggle="items" ng-repeat="ques in questions">
<li class="list-group-item"><input type="checkbox" /> {{ques.question}}
<div ng-if="{{ques.description}}">
<i class="glyphicon glyphicon-question-sign" title="{{ques.description}}"></i>
</div>
</li>
</ul>
所以我添加了所有问题,当它有描述时我想添加一个图标。
上面的代码不起作用,如果你能帮忙的话!
感谢
ng-if="ques.description"
没有花括号,应该这样做,使用最新版本的 angular.js (>1.1)
更多信息,请查看ng-if official documentation
However, if you are using an older version of angular.js, you cannot use the
ng-if
directive. It would explain why your glyphicon is always displayed, regardless of theng-if
condition.
如果是这种情况,这里有一个解决方法:
<div ng-switch="ques.description==null">
<i ng-switch-when="false" class="glyphicon glyphicon-question-sign" title="{{ques.description}}"></i>
</div>
尝试换行:
<div ng-if="{{ques.description}}">
至:
<div ng-if="ques.description">
替换这部分:
<div ng-if="{{ques.description}}">
<i class="glyphicon glyphicon-question-sign" title="{{ques.description}}"></i>
</div>
与 :
<span ng-if="ques.description">
<i class="glyphicon glyphicon-question-sign" title="{{ques.description}}"></i>
</span>
第一件事记住 ng-if="expression"
永远不会使用插值指令 {{}}
它需要一个表达式,如果你检查长度就太好了。
为了更好地绑定 title 属性,请使用 ng-attr-title
,它会在解析 {{ques.description}}
时创建 title 属性。
<div ng-if="ques.description.length > 0">
<i class="glyphicon glyphicon-question-sign" ng-attr-title="{{ques.description}}"></i>
</div>
解决方法在我下面的评论里 post.
问题是我使用的是 angularJS 的 1.0.x 版本,它没有 ng-if 指令。
我下载了一个新的 angular.js,现在可以使用了!