2015-09-23 41 views
1

我正在使用ng-repeat呈現由api提供的信息。根據索引修改ng-repeat中的不同項目

我在我的數組中有2個對象,價格不同。

我想要做的是向用戶顯示每小時價格,但取決於價格,我需要除以不同的數字,這意味着取決於數組中項目的索引。目前,我正在爲每件商品獲得總價,但希望以不同的方式劃分這兩個商品。

目前我的代碼是這樣的:

使用Javascript /角

apiCall(function (data) { 
    for(var i=0; i<data.length;i++){ 
    controller.holder.push({ 
    id: data[i].id, 
    price: data[i].price 
    }); 
} 

controller.holder = [ 
    { 
    id: 1, 
    price: 100 
},{ 
    id: 1, 
    price: 500 
}] 

HTML

<div ng-repeat="pack in Test.holder" class="col-sm-6"> 
     <p>{{pack.hours}} - {{pack.price | currency }}</p> 
     <button translate>Go</button> 
</div> 

我想達到的目的是這樣的(請參閱在代碼中留言):

<div ng-repeat="pack in Test.holder" class="col-sm-6"> 
//if pack index in holder is 0 divide the item by 5 
//if pack index in holder is 1 divide the item by 10 
      <p>{{pack.hours}} - {{pack.price | currency }}</p> 
      <button translate>Go</button> 
</div> 

通過使用$索引是否有辦法做到這一點?經過大量的研究,我找不到一個好的答案。

任何幫助將不勝感激。請讓我知道,如果上述任何不清楚,我可以提供更多的細節。

+0

你可以用'$ index'訪問'NG-repeat'範圍內的索引。 – muenchdo

回答

4

假設你想通過5或10分的價格:

<div ng-repeat="pack in Test.holder" class="col-sm-6"> 
    <p ng-if="$index == 0">{{pack.hours}} - {{pack.price/5 | currency }}</p> 
    <p ng-if="$index == 1">{{pack.hours}} - {{pack.price/10 | currency }}</p> 
    <button translate>Go</button> 
</div> 
+0

是啊,這看起來不錯,歡呼 –

+0

如果你的*數組可能有更多的數據*有一天確保添加一個'

'標籤,像這樣:'

1「> {{pack.hours}} - {{pack.price | }}

' – DonJuwe

+0

爲什麼是DonJuwe –

1

我會說使用$ index和ng-if的組合。

如果索引< 5這樣做 否則會這樣做。

+0

不認爲這將解決我的問題,但歡呼的幫助 –

+0

@PaulFitzgerald我很確定它確實... – muenchdo

+0

好吧,也許我誤解了解決方案。但索引要麼是0,要麼是1,因爲數組中只有兩個項目 –