从服务器加载后,数据不会以角度网格显示

时间:2016-02-16 13:33:37

标签: javascript angularjs ng-grid

我正在使用角度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);
}

paginationOptionsfhvgridOptions分别是getFHVUsersData($scope.gridOptions , paginationOptions)中参数的全局变量。

0 个答案:

没有答案