我正在使用角度1.4和requirejs。我需要在角度网格中显示数据(从服务器加载)但我在启动时在网格中显示时遇到问题。数据加载成功并且在网格中不可见,而当我点击任何一个标题列时,数据突然可见,然后它正常工作。 这是加载/显示数据的代码。
角度代码:
var paginationOptions = {
pageNumber: 1,
pageSize: 25,
sort: null
};
$scope.gridOptions = {
paginationPageSizes: [25, 50, 75],
paginationPageSize: 25,
useExternalPagination: true,
useExternalSorting: false,
columnDefs: [
{name: 'expireDate'},
{name: 'lastUpdateDate'},
{name: 'name'},
{name: 'type'},
],
onRegisterApi: function (gridApi) {
$scope.gridApi = gridApi;
$scope.gridApi.core.on.sortChanged($scope, function (grid, sortColumns) {
if (sortColumns.length === 0) {
paginationOptions.sort = null;
} else {
paginationOptions.sort = sortColumns[0].sort.direction;
}
getPage();
});
gridApi.pagination.on.paginationChanged($scope, function (newPage, pageSize) {
paginationOptions.pageNumber = newPage;
paginationOptions.pageSize = pageSize;
getPage();
});
}
};
var getPage = function () {
require(['path/to/jsFile'], function(obj){
obj.getFHVUsersData($scope.gridOptions , paginationOptions);
});
};
getPage();
工作正常,正在触发事件getFHVUsersData()
,以便从服务器请求数据。
这是我从服务器获得响应的代码:
if (ajax.status === 200 && ajax.readyState === 4) {
var resp = JSON.parse(ajax.responseText);
fhvgridOptions.totalItems = resp.data.length;
var firstRow = (paginationOptions.pageNumber - 1) * paginationOptions.pageSize;
fhvgridOptions.data = resp.data.slice(firstRow, firstRow + paginationOptions.pageSize);
}
paginationOptions
和fhvgridOptions
分别是getFHVUsersData($scope.gridOptions , paginationOptions)
中参数的全局变量。