我在刷新ngTableParams方面遇到了麻烦

时间:2015-04-09 18:25:36

标签: angularjs refresh apply ngtable

我似乎无法弄清楚刷新。我可以获得页面的初始加载,但是当运行getActivity()函数时,它不会更新页面。不知所措。尝试了许多不同的事情,但没有成功。

以下代码是从工厂调用的

uaAppCommon.tableParams = function(data,sortFieldOrder){
        var table = new ngTableParams({
             //page: 1,            // show first page
             count: data.length,          // count per page
             sorting: sortFieldOrder
         }, {
            counts: [],  //hides page sizes
             total: data.length, // length of data
             getData: function($defer, params) {
                 // use build-in angular filter
                 var orderedData = params.sorting() ?
                                     $filter('orderBy')(data, params.orderBy()) :
                                     data;
                 $defer.resolve(orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count()));
             }
         });
        return table;
    };

此代码段是控制器中的调用函数。

$scope.getActivity = function(numDays){
        appService.loadActivity(numDays)
        .then(function(response){
            var activity = appService.getActivity();
            $scope.activityTable = appCommon.tableParams(activity,{date: 'desc'});  
        });
    };

这是HTML:

<table ng-table="activityTable" class="table" fixed-table-headers="scrollable-area">
                            <tr ng-repeat="act in $data">
                                <td data-title="'Date & Time'" sortable="'date'">
                                    {{act.date}}
                                </td>
                                <td data-title="'Activity'" sortable="'activity'">

1 个答案:

答案 0 :(得分:1)

你能提供plunker吗? 你能在控制器中查看这一行吗? $ scope.activityTable = appCommon.tableParams(activity,{date:&#39; desc&#39;}); 尝试用它替换它 $ scope.activityTable = uappCommon.tableParams(activity,{date:&#39; desc&#39;});

如果在您调用函数后重新加载表 yourtablename.reload(),则无法正常工作。