在我的视图中丢失ngtableparams范围

时间:2014-11-14 22:22:45

标签: angularjs ngtable

由于某些原因我在视图中失去了ngtable params的范围,ngtableparams中的所有内容都是未定义的(我在angularjs batarang绑定中看到)。

我的控制器代码是

this.contractsParams = new ngTableParams({

        defaultSort: 'asc',
        counts: [],
        total: 10, // length of data
        getData: function ($defer, params) {                
            this.MyService.query(
               angular.bind( function (data) {
                 debugger;
                 $defer.resolve(data.Data);
            }));
        }

    });

此外,getdata根本没有被调用。

我的观点

<table ng-table="controller.contractsParams">
<tr ng-repeat="contract in $data">
      <td data-title="'Title'" data-sortable="'Title'">{{contract.Title}}</td>
</tr>

2 个答案:

答案 0 :(得分:0)

丢失范围的问题可能源于ngTableParams初始化,需要两个对象:参数设置,请查看{{3} }。 所以简单的初始化看起来像:

$scope.tableParams = new ngTableParams(
       /* parameters */ 
     {
        page: 1,            // show first page
        count: 10           // count per page
    }, 
        /* settings */
        {
        total: data.length, // length of data
        getData: function($defer, params) {
            $defer.resolve(data.slice((params.page() - 1) * params.count(), params.page() * params.count()));
        }
    });

从官方网站查看示例docs

答案 1 :(得分:0)

通过将此片段添加到我的视图中来解决此问题

ng-controller =&#34; myController作为控制器&#34;