2015-09-27 4 views
0

Я пытаюсь реализовать 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 я служу завод данных к контроллеру затем вызвать нг таблицу:

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

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

}); 

В результате, появляется все данные и входные фильтры над содержимым, однако, не работают. Есть что-то, чего я не хватает?

ответ

1

Предположим, что ваш HTML содержит что-то вроде <table ng-table="tableParams", вы хотите присвоить свой новый NgTableParams$scope.tableParams, чтобы таблица могла их видеть. В настоящее время вы назначаете локальную переменную.

Кроме того, включить строгий режим Javascript, используя «use strict». Избегает таких ошибок.

-1

попытаться изменить код

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

в

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

Попробуйте перейти к комментариям, а не ответы. Вы не уверены, что это решит проблему. – Nic3500