在 AngularJS1 的一个 ng-repeat 指令中使用多个 limitTo 过滤器

Posted

技术标签:

【中文标题】在 AngularJS1 的一个 ng-repeat 指令中使用多个 limitTo 过滤器【英文标题】:Using multiple limitTo filters in one ng-repeat directive in AngularJS1 【发布时间】:2017-09-14 18:11:59 【问题描述】:

我的数据是通过 php 从 JSON 文件中获取的,从 mysql 数据库(XAMPP - 虚拟服务器,REST API)到 AngularJS1。

假设现在我有一个带有数字的 JSON,从 1 到 31,并且我想通过 AngularJS1 中的表达式显示从 8 到 14 的数字。是否有可能以某种方式在一个 @ 中使用两个 limitTo 过滤器987654322@ 指令,它可以限制 expression FROM 的输出 - TO 某些数据范围?我不想使用我的 PHP 和 MySQL 代码进行操作。

【问题讨论】:

【参考方案1】:

您可以创建一个自定义过滤器并从 ng-repeat 调用它

.filter('slice', function() 
  return function(arr, start, end) 
    return (arr || []).slice(start, end);
  ;
);

演示

angular.module("app",[])
.controller("ctrl",function($scope)
$scope.arr = [];
for(var i=1; i<=31; i++)
  $scope.arr.push(i)

).filter('slice', function() 
  return function(arr, start, end) 
    return (arr || []).slice(start, end);
  ;
);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="ctrl">
 <div ng-repeat="item in arr  | slice:8:14">
  item
</div>
</div>

【讨论】:

以上是关于在 AngularJS1 的一个 ng-repeat 指令中使用多个 limitTo 过滤器的主要内容,如果未能解决你的问题,请参考以下文章

Angular2 & angularjs1

angularjs1.4 CORS 失败

如何Angularjs1.3在页面中输出带Html标记的文本

AngularJS1学习-常用指令

AngularJS1.X版本双向绑定九问

AngularJS1.X学习笔记10-自定义指令(下)