我正在尝试将数据加载到angularJs数据表中。我可以记录deferred.promise。但我不能让它返回角度数据表需要的Json对象。
这是控制器
app.controller('AdminListCtrl',
function ($scope, $rootScope, $q,
DTOptionsBuilder, DTColumnDefBuilder, adminService, ApiService) {
var vm = this;
vm.deferred = $q.defer();
vm.loadAdmin = function () {
ApiService.get("admin").then(function (response) {
if (response) {
if (response.success == true) {
adminService.adminList = response.data;
vm.deferred.resolve(adminService.adminList);
console.log(vm.deferred.promise);
return vm.deferred.promise;
}else{
console.log(response);
}
}else {
console.log('error request ');
}
});
}
vm.loadAdminInit = function () {
if (adminService.adminList.length == 0) {
vm.loadAdmin();
}else{
console.log(adminService.adminList);
}
}
function stateChange(iColumn, bVisible) {
console.log('The column', iColumn, ' has changed its status to', bVisible);
}
vm.dtOptions = DTOptionsBuilder
.fromFnPromise(vm.loadAdminInit())
.withPaginationType('full_numbers')
.withDisplayLength(10)
// Add Bootstrap compatibility
.withBootstrap()
// Active ColVis plugin
.withColVis()
// Add a state change function
.withColVisStateChange(stateChange)
// Exclude the last column from the list
.withColVisOption('aiExclude', [2])
// Add Table tools compatibility
.withTableTools('scripts/vendor/datatables/TableTools/swf/copy_csv_xls_pdf.swf')
.withTableToolsButtons([
'copy',
'print', {
'sExtends': 'collection',
'sButtonText': 'Save',
'aButtons': ['csv', 'xls', 'pdf']
}
]);
vm.dtColumns = [
DTColumnDefBuilder.newColumnDef(0),
DTColumnDefBuilder.newColumnDef(1),
DTColumnDefBuilder.newColumnDef(3),
DTColumnDefBuilder.newColumnDef(4),
DTColumnDefBuilder.newColumnDef(5).notSortable()
];
});