2014-03-06 33 views
0

我在使用Angular JS中的篩選器函數時遇到問題。 我必須使用不同的鏈接過濾我的列表。 我無法理解如何過濾列表。嘗試了一些例子,但它不起作用。我該怎麼做?? 現在這是我的代碼:Angular JS - 如何使用多個鏈接篩選列表

HTML

<tr ng-repeat="rubric in examplerevisions | filter:myFilter" class="{{rubric.translationProposal.validations[0].class}}"> 
    <td></td> 
    <td>{{rubric.translationProposal.validations[0].createdBy}}</td> 
    <td>{{rubric.translationProposal.validations[0].createdOn | date:'dd/MM/yyyy'}}</td> 
    <td>{{rubric.translationProposal.validations[0].action}}</td> 
    <td>{{rubric.action}}</td> 
</tr> 

<a href="" ng-click="myFilter = {action: 1}">OK</a> 
<a href="" ng-click="myFilter = {action: 2}">New Proposal</a> 
<a href="" ng-click="myFilter = {action: 3}">Null</a> 

JS

$ scope.examplerevisions包含我的所有行

JSON示例陣列

{ 
"1":{ 
    "id":1, 
    "action":1, 
    "translationProposal":{ 
     "id":1, 
     "status":"ACCEPTED", 
     "createdOn":1393946608751, 
     "createdBy":12, 
     "validations":[ 
      { 
       "id":0, 
       "action":"ACCEPT", 
       "proposedAlternative":"Traduzione alternativa", 
       "createdOn":1393946608751, 
       "createdBy":12 
      } 
     ] 
    } 
} 
} 

回答

0
<tr ng-repeat="rubric in examplerevisions | filter:myFilter" class="{{rubric.translationProposal.validations[0].class}}"> 
<td></td> 
<td>{{rubric.translationProposal.validations[0].createdBy}}</td> 
    <td>{{rubric.translationProposal.validations[0].createdOn | date:'dd/MM/yyyy'}}</td> 
    <td>{{rubric.translationProposal.validations[0].action}}</td> 
    <td>{{rubric.action}}</td> 
</tr> 

<a href="" ng-click="myFilter[1].action = 1}">OK</a> 
<a href="" ng-click="myFilter[1].action = 2}">New Proposal</a> 
<a href="" ng-click="myFilter[1].action = 3}">Null</a> 

應做個竅門,如果你想通過它的節點值過濾對象,那麼myFilter需要成爲你的對象的根

------編輯----------

不知道爲什麼我還沒有發現它馬上,過濾器並沒有真正使用對象的對象,需要對象的數組,請檢查您plunker的更新版本,在這裏工作:http://plnkr.co/edit/ejbZXqhwdrF1yopIaM61?p=preview

+0

它似乎並沒有工作。你可以使用我的運動員併發布嗎? –

+0

我編輯了我的文章,請檢查它 – maurycy

+0

是的謝謝!它現在有效!我在1小時前做了它,它的工作原理。謝謝 –

0

當你看到在頁面的最後一個例子:http://docs.angularjs.org/api/ng/filter/filter,我覺得參數應該像ng-click="myFilter.action = 1"myFilter[1].action = 1

你能提供的jsfiddle或東西,其中一個可以嘗試?

編輯:我不知道是否有可能這樣做。我可能會寫我自己的過濾器。或者,我會在JSON轉換成一個數組,像我一樣在這裏:

http://plnkr.co/edit/S9MvwFlpczWxqciVP72V

或這個答案看,如果你想留在目標文件格式: AngularJS sorting by property

+0

這是plunker嘗試: http://plnkr.co/edit/9QC22MsXDhU62LjPgGpE –