Angularjs 从服务获取数据后如何显示Ui网格?

Angularjs 从服务获取数据后如何显示Ui网格?,angularjs,angular-ui-grid,Angularjs,Angular Ui Grid,这是我的密码 var-app=angular.module('app',['ngTouch','ui.grid']); app.controller('MainCtrl',['$scope','$http',函数($scope,$http){ var today=新日期(); $scope.gridOptions={ 启用筛选:false, onRegisterApi:函数(gridApi){ $scope.gridApi=gridApi; $scope.gridApi.grid.regist

这是我的密码

var-app=angular.module('app',['ngTouch','ui.grid']);
app.controller('MainCtrl',['$scope','$http',函数($scope,$http){
var today=新日期();
$scope.gridOptions={
启用筛选:false,
onRegisterApi:函数(gridApi){
$scope.gridApi=gridApi;
$scope.gridApi.grid.registerRowsProcessor($scope.singleFilter,200);
},
columnDefs:[
{字段:'名称'},
{字段:'gender',单元格筛选器:'mapGender'},
{字段:'公司'},
{字段:'电子邮件'},
{字段:'电话'},
{字段:'年龄'},
{字段:'mixedDate'}
]
};
$http.get('https://cdn.rawgit.com/angular-ui/ui-grid.info/gh-pages/data/500_complex.json')
.成功(功能(数据){
$scope.gridOptions.data=数据;
$scope.gridOptions.data[0]。年龄=-5;
data.forEach(函数addDates(行、索引){
row.mixedDate=新日期();
row.mixedDate.setDate(today.getDate()+(索引%14));
row.gender=row.gender==‘男性’?‘1’:‘2’;
});
});
$scope.filter=函数(){
$scope.gridApi.grid.refresh();
};
$scope.singleFilter=函数(renderableRows){
var matcher=newregexp($scope.filterValue);
forEach(函数(行){
var匹配=假;
['姓名','公司','电子邮件'].forEach(功能(字段){
if(行.实体[字段].match(匹配器)){
匹配=真;
}
});
如果(!匹配){
row.visible=false;
}
});
返回渲染器;
};
}])
.filter('mapGender',函数(){
var genderHash={
1:‘男性’,
2:‘女性’
};
返回函数(输入){
如果(!输入){
返回“”;
}否则{
返回genderHash[输入];
}
};
});

滤器

一种流行的设计是在数据尚未加载时显示加载状态,为此,您可以添加一个
dataLoaded
标志来控制网格准备就绪的时间,在
$http.get
的成功回调中将该标志设置为
true
。见下文:

在您的模板中,它可以是:


加载。。。

我还有一个问题?i、 e,如何在ui网格上隐藏列名请检查ui网格是否有任何选项可以这样做:)我将尝试许多选项,但不会像hideHeader:true和showHeader:FALSE那样工作。是否要隐藏列或仅隐藏列标题?这里有什么选择吗?我只想隐藏列标题
$scope.dataLoaded = false;
$http.get('https://cdn.rawgit.com/angular-ui/ui-grid.info/gh-pages/data/500_complex.json').success(function(data) {
  // ...
  $scope.dataLoaded = true;
});
<div id="grid1" ui-grid="gridOptions" class="grid" ng-show="dataLoaded"></div>
<div ng-hide="dataLoaded">Loading...</div>