我可以使用一组数据正确地进行无限滚动。当我使用 HTML 表格执行类似的任务(图像索引)时,loadMore() 函数被调用得太频繁了。通常一个轻卷轴会遍历整个数据集。谷歌没有给我一个使用表格的具体例子,所以想知道我是不是搞砸了。
<table>
<span infinite-scroll="loadMore()" infinite-scroll-distance='2' infinite-scroll-disabled="load_disabled">
<tr data-ng-repeat="row in data">
<td data-ng-repeat="item in row">
<div class="image_box">
<img data-ng-src="{{item.thumb_src}}"><br>{{item.title_eng}}
</div>
</td>
</tr>
</span>
</table>
Javascript。请注意, $scope.data 是我的项目数组的数组。$scope.data[0] 将有 5 个项目,其中包含一个缩略图和一些文本。
angular.module('myApp', ['ngRoute','infinite-scroll'])
.controller("imageController",
['$scope',
'$http',
'$routeParams',
'$rootElement',
'$location',
function($scope,$http,$routeParams,$rootElement,$location) {
$scope.data = new Array();
row = -1;
for ( var i = 0; i < 100; i++ ) {
if ( i % 5 == 0 ) {
row++;
$scope.data[row] = new Array();
}
var item = [];
item["title_eng"] = "title " + i;
$scope.data[row].push( item );
}
console.log( "We got " + row + 1 + " rows." );
$scope.rows = new Array();
var row_ix = 0;
$scope.loadMore = function() {
if ( !$scope.data[row_ix] || !$scope.data[row_ix].length ) {
return;
}
var x = 1; // 1 at a time
console.log( "row_ix: " + row_ix + "." );
for ( var i = 0; i < x; i++ ) {
$scope.rows[row_ix] = new Array();
$scope.rows[row_ix] = $scope.data[row_ix].slice(0);
row_ix++;
}
}
angular.module('infinite-scroll').value('THROTTLE_MILLISECONDS', 250);\
编辑:休息一段时间后回到这个问题。油门似乎不起作用。:(