2016-05-12 17 views
1

我與NG-重複+過濾+分頁(UI自舉)

1納克重複+過濾器工作工作工作正常:

<tr data-ng-repeat="target in targets | filter:search track by $index"> 

2- NG重複+過濾+分頁是工作太細:

<tr data-ng-repeat="target in targets | filter:search | startFrom:(currentPage - 1) * pageSize | limitTo: pageSize "> 

3-問題是,當我通過$索引合併的NG-重複+過濾+分頁+軌道

<tr data-ng-repeat="target in targets | filter:search | startFrom:(currentPage - 1) * pageSize | limitTo: pageSize track by $index"> 

我從0我的索引值重啓4在每個頁面

here is a screen shot of my table

有關正確的順序爲「軌道由$指數」知不知道!我應該在哪裏放置它?

回答

0

通常情況下,正確的sintax是一樣的東西:

<div ng-repeat="item in items track by $index | my filter....">

希望這有助於

+0

是的,這是真的,但在我的情況下分頁可能會導致問題,在我的控制器中我有:todoApp.filter('startFrom',function(){返回功能(數據,開始){ 返回數據。切片(開始); } }); – eamon

2

Finaly我已經固定我的問題與另一個邏輯,我是用曲目由$指數爲編輯所選行字段在我的表中是這樣的:

<td><input class="todo" type="text" ng-model-options="{ updateOn: 'blur' }" ng-change="updateTarget(targets[$index])" ng-model="target.YEAR"></td> 
<td><input class="todo" type="text" ng-model-options="{ updateOn: 'blur' }" ng-change="updateTarget(targets[$index])" ng-model="target.MONTH"></td> 

現在我從我的ng-repeat中刪除了$ index索引,並且將我的td更改爲:

<td><input style="width:40px" class="todo" type="text" ng-model-options="{ updateOn: 'blur' }" ng-change="updateTarget(target)" ng-model="target.YEAR"></td> 
<td><input style="width:40px" class="todo" type="text" ng-model-options="{ updateOn: 'blur' }" ng-change="updateTarget(target)" ng-model="target.MONTH"></td> 

因此,在ng-change中,我的更新函數將以所有對象作爲參數被調用,不需要$ index來確定當前對象。