我正在尝试实施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});
});
});
结果是显示所有数据并且输入过滤器在内容之上,但是都不起作用。有什么我想念的吗?
答案 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">