angularjs - 有什么方法可以停止 ng-repeat 的执行

标签 angularjs

当满足条件时,我需要停止执行 block ng-repeat,还有一段路要走。

类似的事情:

<div ng-reapeat="item in items">
   <div ng-if="item.age === 0">
      here I need to break the ng-repeat
   </div>
</div>

最佳答案

您可以创建一个自定义过滤器,一旦满足条件,该过滤器就会中断:

var app = angular.module("App", []);

app.filter('myFilter', function() {
  return function(input) {
    var result = [];

    for (var i = 0; i < input.length; i++) {
      if (input[i] === 4) break;
      result.push(input[i]);
    }

    return result;
  };
});

app.controller("Ctrl", function($scope) {
  $scope.data =   [1, 2, 3, 4, 5, 6];
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<body ng-app="App" ng-controller="Ctrl">
  <div ng-repeat="d in data | myFilter">
    {{d}}
  </div>
</body>

关于angularjs - 有什么方法可以停止 ng-repeat 的执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33442288/

相关文章:

angularjs - 检查对象是否为空,适用于 ng-show 但不适用于 Controller ?

javascript - ng-repeat 只显示第一个迭代的数据

javascript - 一个模块内的两个 Controller 不工作

ruby-on-rails - Angular POST 请求在我未指定的参数中发送信息,Rails 抛出相关错误

javascript - 阻止用户输入字母并将模型插入数组

angularjs - Angular接收字符串作为数组?

javascript - angular.controller 是否总是采用匿名函数

javascript - 调度程序年 View

javascript - AngularJS ng-click 在编译尝试后未触发

angularjs - Keycloak + AngularJS : persist URL hash fragments after login redirect url