我有这个代码。 $scope.counter = '1';
<div ng-repeat="cat in catadata">
<div ng-if="cat.TopCategoryID = 2" >
<div ng-if="counter = 1" >
<div class="feedsDisplay" ng-init="counter = counter + 1">
Creater Img:{{cat.CreatedBy_Profile.Picture.URI}}"
</div>
</div>
</div>
</div>
我想在counter = 2
时停止循环,我想只显示1个结果。
ng-init="counter = counter + 1
{{counter}}
显示11111
它应显示12345
答案 0 :(得分:2)
您正在与=
而非==
试试这个
ng-if="counter == 1"
counter
的值是字符串。在+
counter
符号
试试这个
ng-init="counter = +counter + 1"
答案 1 :(得分:2)
你无法有条件地停止ng-repeat
。
要只打印一个结果,您可以使用
<div ng-repeat="cat in catadata | limitTo : 1">
OR
<div>{{catadata[0]}}</div>
答案 2 :(得分:1)
不要像这样误用ng-repeat
,ng-init
和ng-if
,而是在呈现之前尝试提取第一个匹配的cat
,例如在控制器,指令或服务中:
for (var i = 0, maxI = catadata.length; i < maxI; ++i) {
if (cat.TopCategoryID === 2) {
$scope.firstMatchingCat = cat;
break;
}
}
然后在模板中:
<div class="feedsDisplay">
Creater Img:{{firstMatchingCat.CreatedBy_Profile.Picture.URI}}"
</div>