ngtable过滤器不起作用

时间:2015-09-27 13:52:51

标签: filter ngtable

我正在尝试实施ngtable以便开箱即用过滤器和分页,但似乎并不像他们所说的那样容易实现。

我的数据在表格中正确加载,但实际的过滤器根本没有响应。下面是我在MyCtrl中的表格代码:

  <table ng-table="tableParams" class="table table-condensed table-bordered table-striped">
      <tr ng-repeat="movie in items.movies">
            <td data-title="'Title'" filter="{ title: 'text'}" sortable="'title'">{{movie.title}}</td>
            <td data-title="'Duration'" filter="{duration: 'number'}" sortable="'duration'">{{movie.duration | durationFilter | date:'HH:mm:ss'}} hrs</td>
      </tr>
  </table>

在app.js中,我向控制器提供数据工厂,然后触发ng表:

app.controller('MyCtrl', function($scope, itemsFactory){

 itemsFactory.getItems().success(function(data){
          $scope.items = data;
          tableParams = new NgTableParams({}, { data: data});
      });

 });

结果是显示所有数据并且输入过滤器在内容之上,但是都不起作用。有什么我想念的吗?

2 个答案:

答案 0 :(得分:1)

假设您的HTML包含<table ng-table="tableParams"之类的内容,您希望将新的NgTableParams分配给$scope.tableParams,以便表格可以看到它们。目前您正在分配一个局部变量。

此外,通过“use strict”启用Javascript严格模式。避免这样的错误。

答案 1 :(得分:-1)

尝试更改您的代码

<tr ng-repeat="movie in items.movies">

<tr ng-repeat="movie in $data">