我使用的是AngularJS v1.2.9
。
在ng-repeat
中,我如何使用检查对象的值并根据条件执行操作?
在英语中,类似于:
if `X` is not null, then show `X`. Is it possible?
这是我的ng-repeat
骨架:
<li ng-repeat="r in results">
<div>{{ r.title }}</div>
<div>{{ r.location }}</div>
<!--
if ( r.date!=="null" ) {
<div>{{ r.date }}</div>
} else {
<div>Date not confirmed yet.</div>
}
-->
</li>
如果r.date
不为空,我需要显示它。如果它是空的,那么我说别的。
请帮忙。谢谢大家。
<li ng-repeat="r in results">
<!-- If r.date contains a value, show it -->
<span ng-if="r.date">{{r.date}}</span>
<!-- If r.date does not contain a value show placeholder text -->
<span ng-if="!r.date">Date not confirmed yet.<span>
</li>
另请参阅JavaScript 中变量前的感叹号是什么意思
更新
问题不太清楚,所以这里是您想要的ng-bind
指令。如果内容更大,那么你可以切换到下面@JustOneMoreQuestion建议的方式。
<li ng-repeat="r in results" ng-if="r.date">
<div ng-bind="r.date ? r.date : 'Date not confirmed yet.'"></div>
</li>
使用ng-if
可以轻松完成
<li ng-repeat="r in results" ng-if="r.date">
<!--
if ( r.date!=="null" ) {
{{ r.date }}
}
-->
</li>
或者选择一个过滤器,它将过滤掉这些元素,并创建一个包含date
的元素集合。
<li ng-repeat="r in results| filter: { date: '' }">
<!--
if ( r.date!=="null" ) {
{{ r.date }}
}
-->
</li>
检查这个,
<li ng-repeat="r in results" >
<div data-ng-if="r.date !== 'null'">
Your Date
</div>
<div data-ng-if="r.date == 'null'">
Date not confirmed yet
</div>
</li>