javascript - Angular Ng-Repeat 与键值列表

标签 javascript angularjs

我正在返回一个包含需要迭代的键/值的对象。 我是这样做的:

ng-repeat="(index, thing) in data"

非常简单,但我需要将其限制为 2 个项目。并且常规的 limitTo Angular 过滤器似乎无法以这种方式工作。是否可以在 View 中以这种方式进行过滤?还是我必须在数据到达 View 之前修改数据?例如,我希望能够做到这一点:

ng-repeat="(index, thing) in data | limitTo:2"

最佳答案

您可以编写自己的过滤器,名称类似于 limitObjecTo,它能够返回仅具有前两个属性的对象。

您有没有使用数组的原因?这似乎更合适。

示例:http://jsfiddle.net/LgTfs/

.filter('limitObjectTo', function() {
  return function(obj, limit) {
    var newObj = {}, i = 0, p;
    for (p in obj) {
      newObj[p] = obj[p];
      if (++i === limit) break;
    }
    return newObj;
  };
});

关于javascript - Angular Ng-Repeat 与键值列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19408507/

相关文章:

javascript - 在某些情况下没有 'Access-Control-Allow-Origin' header 错误,但在其他情况下则没有

PHP:执行 php 脚本时显示 "loading"页面

javascript - 从 AngularJS 中的选择器中检索 JSON 字段名称

angularjs - 使用 ui.bootstrap scope.$watch & element.triggerHandler - 获取 - 错误 : [$rootScope:inprog] $digest already in progress

javascript - 将数据库中的事件显示到 angularjs mwl 日历中

javascript - 选择除所选迭代之外的所有 NG-Repeat 迭代

javascript - 更改JointJs Paper的交互属性?

javascript - 测试数据是否存在于 Firebase 中

javascript - 使用 Node.js 处理多个 MySQL 查询的方法

angularjs - 是否可以一次在页面上有多个状态或更改命名 View 的状态?