如何在 ngTables 中过滤

How to filter in ngTables

我正在使用 ng-table 生成我的 table。 但是我的数据有两列,第一列是一个对象。

我在控制器中的功能:

$scope.allServers = function() {
    $http.get("/volazi/getServers").success(function(data) {
        $scope.serversDTO = data;
        $scope.tableParams = new NgTableParams({}, {
            dataset: data
        });
    });
}

所以我的数据将是这样的:

[{
    server {
        name: "ser1",
        date: "..",
        group: {
            name: "G1",
            created: ".."
        }
    },
    status
}, ...]

如何在 html

中使用过滤器
<tr ng-repeat="sr in $data">
    <td title="'Name'" filter="{server.name: 'text'}" sortable="'server.name'">
        {{ sr.server.name }}
    </td>
</tr>

它不是那样工作的

您应该将过滤器应用于循环:

<tr ng-repeat="sr in $data | filter: { server.name: 'text' }">

这真的很有帮助:LINK

我通过添加 ''

解决了这个问题

我替换

filter="{server.name: 'text'}"

来自

filter="{'server.name': 'text'}"