2014-07-23 73 views
1

我編寫了一個過濾器,使用有關反向過濾器的衆多堆棧溢出問題之一來反轉列表。AngularJS反轉項目列表顯示非反轉索引編號

我的代碼:

<div ng-repeat="query in queries | reverse"> 
    <p>Submission: {{$index}}</p> 
    <p>Title: {{query.title}}</p> 
    <p>Body: {{query.response}}</p> 
</div> 

數組:

var queries = [ 
    { title: "Query type A", body: "Response of query type A" }, 
    { title: "Query type B", body: "Response of query type B" }, 
    { title: "Query type C", body: "Response of query type C" } 
]; 

現在,我的名單是相反的,我想顯示在每個項目上算的,所以它看起來像下面這樣:

Submission: 3 
Title: Query type C 
Body: Response of query type C 

Submission: 2 
Title: Query type B 
Body: Response of query type B 

Submission: 1 
Title: Query type A 
Body: Response of query type A 

但是,相反,順序是正確顛倒,但提交編號(這只是$index,向後:

Submission: 1 
Title: Query type C 
Body: Response of query type C 

Submission: 2 
Title: Query type B 
Body: Response of query type B 

Submission: 3 
Title: Query type A 
Body: Response of query type A 

我意識到,不知何故這可能是正確的行爲,但我該如何顯示相反的數字?

回答

1

$ index只是簡單地遍歷循環中的項目。它沒有意識到逆轉。你可以在查詢,如「ID」元素:

var queries = [ 
    { title: "Query type A", body: "Response of query type A", id:1 }, 
    { title: "Query type B", body: "Response of query type B", id:2 }, 
    { title: "Query type C", body: "Response of query type C", id:3 } 
]; 

,並使用<p>Submission: {{query.id}}</p>代替<p>Submission: {{$index}}</p>

+0

我應該提到,我想不必設置數據對象內的財產本身,因爲這些對象是實際查詢字段提交的結果...因此,每次運行查詢時,對象都會動態添加到列表中。 – Kristian

+0

有趣的是,我只是試圖打印一些減法,似乎也有效。 – Kristian

+0

減法將適用於反轉,但如果您決定按不同的順序排序它們,例如按標題排序,那​​麼它將再次破裂。 – Sid

1

而不是從數組長度打印$index,打印$index的不同作品:

{{queries.length - $index}}

+0

令人敬畏的工作@Kristian – Davis

0

它是一個好問題的朋友,在過去我遇到了同樣的問題 而不是給了{ {$指數}},給

{{queries.length + 1 - $指數}}