2015-09-16 31 views
1

這是我的代碼如何在數據呈現前在UI網格中顯示加載符號?

var app = angular.module('app', ['ngAnimate', 'ui.grid']); 
 

 
app.controller('MainCtrl', ['$scope', '$http', '$timeout', function ($scope, $http, $timeout) { 
 
    $scope.gridOptions = { 
 
    enableSorting: true, 
 
    columnDefs: [ 
 
     { field: 'name' }, 
 
     { field: 'gender' }, 
 
     { field: 'company', enableSorting: false } 
 
    ] 
 
    }; 
 
    
 
    $timeout(function() { 
 
    $http.get('https://rawgit.com/angular-ui/ui-grid.info/gh-pages/data/100.json') 
 
     .success(function(data) { 
 
     $scope.gridOptions.data = data; 
 
     }); 
 
    }, 2000); 
 
}]) 
 

 
.directive('gridLoading', function() { 
 
    return { 
 
    restrict: 'C', 
 
    require: '^uiGrid', 
 
    link: function ($scope, $elm, $attrs, uiGridCtrl) { 
 
     $scope.grid = uiGridCtrl.grid; 
 
    } 
 
    } 
 
});
<!DOCTYPE html> 
 
<html ng-app="app"> 
 

 
    <head> 
 
    <script data-require="[email protected]*" data-semver="2.1.1" src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
    <link data-require="[email protected]*" data-semver="3.2.0" rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" /> 
 
    <link data-require="[email protected]*" data-semver="4.1.0" rel="stylesheet" href="http://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.1.0/css/font-awesome.min.css" /> 
 
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.16/angular.js"></script> 
 
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.16/angular-touch.js"></script> 
 
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.16/angular-animate.js"></script> 
 
    <script src="http://ui-grid.info/docs/grunt-scripts/pdfmake.js"></script> 
 
    <script src="http://ui-grid.info/docs/grunt-scripts/vfs_fonts.js"></script> 
 
    <script src="http://ui-grid.info/release/ui-grid-unstable.js"></script> 
 
    <link rel="stylesheet" href="http://ui-grid.info/release/ui-grid-unstable.css" type="text/css" /> 
 
    <link rel="stylesheet" href="main.css" type="text/css" /> 
 
    </head> 
 

 
    <body> 
 
    <div ng-controller="MainCtrl"> 
 
    Click on a column header to sort by that column. (The third column has sorting disabled.) 
 
        <br /> 
 
     <br /> 
 
     <div ui-grid="gridOptions" class="grid"> 
 
     <div class="well grid-loading" ng-show="grid.rows.length == 0"> 
 
      <i class="fa fa-spin fa-spinner"></i> 
 
      <strong>Data Loading...</strong> 
 
     </div> 
 
     </div> 
 
    </div> 
 
    <script src="app.js"></script> 
 
    </body> 
 

 
</html>

在上面的代碼中,我得到了加載數據呈現網格之前UI的網格符號,但裝載的符號出現在ui-grid.so下來我想在數據在網格上呈現之前在UI網格中顯示加載符號。 這是我的獵人http://plnkr.co/edit/6ED6fPdGGwLNb1Zqubls?p=preview

回答

2

一個可能做你需要的快速修復純粹是CSS的變化。 我將top: 0px; left: 0px;添加到加載進度容器的樣式中,並且它看起來像您希望覆蓋網格。 Here's my plunker

相關問題