在angularJS中使用ng-if条件停止循环

Stop loop using ng-if condition in angularJS

本文关键字:条件 循环 ng-if angularJS      更新时间:2023-09-26

我有这个代码。$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时停止循环,我想只显示一个结果。

ng-init="counter = counter + 1
{{counter}}

显示11111,应该显示12345

您是在比较=而不是==

试试这样

ng-if="counter == 1"
counter

值为string。在counter前添加+符号

try like this

ng-init="counter = +counter + 1"

不能有条件停止ng-repeat。要只打印一个结果,可以使用

<div ng-repeat="cat in catadata | limitTo : 1">

<div>{{catadata[0]}}</div>

而不是像这样滥用ng-repeat, ng-initng-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>