Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 数据更新后如何调用角度数据表分页刷新回调?_Javascript_Angularjs_Pagination_Angular Datatables - Fatal编程技术网

Javascript 数据更新后如何调用角度数据表分页刷新回调?

Javascript 数据更新后如何调用角度数据表分页刷新回调?,javascript,angularjs,pagination,angular-datatables,Javascript,Angularjs,Pagination,Angular Datatables,我有角度数据表配置,工作正常。我的配置看起来像 vm.dtOptions = DTOptionsBuilder.newOptions(). withPaginationType('full_numbers'). //withOption('ajax', { // url: 'rest/get/'+entityName, // type: 'GET' //}).

我有角度数据表配置,工作正常。我的配置看起来像

  vm.dtOptions = DTOptionsBuilder.newOptions().
            withPaginationType('full_numbers').
            //withOption('ajax', {
            //    url: 'rest/get/'+entityName,
            //    type: 'GET'
            //}).
            withOption('serverSide', true).
            withOption('ajax', function(data, callback, settings) {
                    EntityManager.get({entity:entityName,action:'get',start:data.start,length:data.length}).$promise.then(function(response) {
                    console.log('response');
                    console.log(response);
                    vm.objectList = response.data;

                    callback({
                        recordsTotal:    response.recordsTotal,
                        recordsFiltered: response.recordsFiltered,
                        data: response.data
                    });

                });
            }).
            withDataProp('data').
            withOption('processing', true).
            withOption('bFilter', false).
            withOption('bSort', false).
            withOption("aaSorting", []).
            withDisplayLength(10);
但我还有一个过滤功能,可以更新数据和
recordsTotal
,因此,分页应该重新呈现-最后一个按钮编号必须修改。但这并没有发生。有办法打电话吗

 callback({
      recordsTotal:    response.recordsTotal,
      recordsFiltered: response.recordsFiltered,
      data: response.data
 });

来自控制器?什么对象和什么方法更新分页?

好的,我终于找到了解决方案。首先,在标记中添加dt实例:

 <div ng-controller="DataTableController as listTable" ng-init="init('informsystem')">
   <table datatable="" dt-options="listTable.dtOptions" dt-instance="listTable.dtInstance" class="row-border hover">
在配置中使用ajaxCallback:

   ....withOption('ajax', ajaxCallback ).....
在doFilter/doSearch中:

  $scope.doFilter = function () {
            console.log(vm.dtInstance);
            vm.dtInstance.changeData(ajaxCallback);
        };
在init中填充$scope.filter,并在回调中添加$resource和start及length(offset)的公共参数。此外,过滤器还包含通过
ng model
绑定的过滤器html输入值

  $scope.doFilter = function () {
            console.log(vm.dtInstance);
            vm.dtInstance.changeData(ajaxCallback);
        };