Angularjs ngtable自定义筛选$index,而不是从数据集筛选 {{$index}} {{row.age} {{row.money}} {{row.country}

Angularjs ngtable自定义筛选$index,而不是从数据集筛选 {{$index}} {{row.age} {{row.money}} {{row.country},angularjs,ngtable,Angularjs,Ngtable,我有{{$index}}来打印索引号。我知道我可以使用filter={age:'number'}轻松地进行筛选,但是我不能对$index进行同样的筛选,因为它不是来自JS的数据集的一部分 我希望能够通过输入框过滤$index,而不是在加载页面时自动过滤。我认为您无法过滤$index。但是,您可以在呈现表之前简单地扩展数据集 控制器 <table ng-table="demo.tableParams" class="table table-condensed table-bordered

我有
{{$index}}
来打印索引号。我知道我可以使用filter=
{age:'number'}
轻松地进行筛选,但是我不能对
$index
进行同样的筛选,因为它不是来自JS的数据集的一部分


我希望能够通过输入框过滤
$index
,而不是在加载页面时自动过滤。

我认为您无法过滤$index。但是,您可以在呈现表之前简单地扩展数据集

控制器

  <table ng-table="demo.tableParams" class="table table-condensed table-bordered table-striped">
        <tr ng-repeat="row in $data">
          <td data-title="'Name'" filter="{name: 'text'}">{{$index}}</td>
          <td data-title="'Age'" filter="{age: 'number'}">{{row.age}}</td> 
          <td data-title="'Money'">{{row.money}}</td>
          <td data-title="'Country'" filter="{ country: 'select'}" filter-data="demo.countries">{{row.country}}</td>
        </tr>
      </table>
    </div>
$scope.data=[{
姓名:“格雷格”,
年龄:29,,
货币:100.10
}, {
姓名:'鲍勃',
年龄:30,,
货币:250.00
}];
对于(变量i=0;i<$scope.data.length;i++){
$scope.data[i].index=i;
}
$scope.table=新的NgTableParams({}{
数据集:$scope.data
});
查看:

$scope.data = [{
    name: 'greg',
    age:29,
    money: 100.10
}, {
    name: 'bob',
    age:30,
    money: 250.00
}];

for(var i = 0; i < $scope.data.length; i++) {
    $scope.data[i].index = i;
}

$scope.table = new NgTableParams({ }, {
    dataset: $scope.data
});

{{row.index}
{{row.name}
{{row.age}
{{row.money}}


我花了两天时间在这上面。你的解决方案干净整洁。非常感谢。
<table ng-table="table" class="table table-condensed table-bordered table-striped">
    <tr ng-repeat="row in $data">
        <td data-title="'Index'" filter="{index: 'number'}">{{row.index}}</td>
        <td data-title="'Name'" filter="{name: 'text'}">{{row.name}}</td>
        <td data-title="'Age'" filter="{age: 'number'}">{{row.age}}</td>
        <td data-title="'Money'" filter="{money: 'number'}">{{row.money}}</td>
    </tr> </table>