角度数据表中的角度$ q延迟承诺

时间:2016-05-16 09:48:58

标签: angularjs angular-datatables

我正在尝试将数据加载到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()
    ];

  });

0 个答案:

没有答案