我已经看到了很多关于如何使用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>
答案 0 :(得分:1)
对于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;
};
}]);
答案 1 :(得分:0)
首先你的plunkr不工作,角js链接应该高于任何其他js(你的app js)。
您正在使用Object
进行迭代,因为在这里使用limitTo已经有了一个很好的例子,请查看SO Link