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

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


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

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;
  };
});

09-27 04:23