我已经看到了很多有关如何使用limitTo显示有限结果的示例。但不幸的是,它没有按预期工作。当前,它正在显示整个列表,但我想将其限制为4/4块中只有8个键值项目。

这是plnkr

  <ul>
      <li ng-repeat="(key,value) in stocks |limitTo :8">
            {{key +" "+ value}}
      </li>
  </ul>

 <script>
    var app = angular.module('smallcaseApp', []);
    app.controller('stockCtrl', function($scope, $http) {
    $http.get("data.json").then(function(response) {
        $scope.stocks = response.data.price;
      });
    });
 </script>

最佳答案

对于limitTo输入应为数组或字符串/数字。您需要创建自定义过滤器来处理它。这正在为您的问题努力

app.filter('objLimitTo', [function(){
return function(obj, limit){
    if(obj){
      var keys = Object.keys(obj);
      if(keys.length < 1){
        return [];
      }
    }

    var result = {},
    count = 0;
    angular.forEach(keys, function(key){
        if(count >= limit){
            return false;
        }
        result[key] = obj[key];
        count++;
    });
    return result;
};
}]);


http://plnkr.co/edit/8d3gUqg4vHeGQWUXYrat?p=preview

关于javascript - 如何使用Angular.js显示有限的数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44909488/

10-12 12:25
查看更多