Я использую угловую ui-сетку 3.2.5
Ниже приведены сетки
$scope.gridOptions = {
infiniteScrollRowsFromEnd: 40,
infiniteScrollUp: true,
infiniteScrollDown: true,
enableColumnMenus: false, // Remove hide columns options
columnDefs: $scope.myDefs,
data: 'data',
onRegisterApi: function (gridApi) {
gridApi.infiniteScroll.on.needLoadMoreData($scope, $scope.getDataDown);
gridApi.infiniteScroll.on.needLoadMoreDataTop($scope, $scope.getDataUp);
$scope.gridApi = gridApi;
}
};
function updateGrid(filteredData) {
$scope.response = filteredData;
$scope.firstPage = 1;
$scope.lastPage = 1;
$scope.totalPages = Math.ceil($scope.response.length / $scope.pageSize);
$scope.gridApi.infiniteScroll.setScrollDirections(false, false);
$scope.data = [];
$scope.data = $scope.response.slice(0, $scope.pageSize);
$timeout(function () {
$scope.gridApi.infiniteScroll.resetScroll($scope.firstPage > 0, $scope.lastPage < $scope.totalPages);
});
};
когда мы выполняем прокрутку gridApi.infiniteScroll.on.needLoadMoreData($scope, $scope.getDataDown);
работаем хорошо, но мы подталкиваем новые данные при изменении данных в сетке $scope.$watch( 'data', updateGrid);
то по окончании прокрутки gridApi.infiniteScroll.on.needLoadMoreData не вызывает метод getDataDown и прокрутки, хотя есть больше данных.
Что может быть проблемой?