2013-02-25 3 views
2

I 유형은 "VISA"또는 "마스터"또는 "현금"과 같이 될 수있는이타다 남은 데이터 필터

App.Transaction = DS.Model.extend({ 
    amount: DS.attr('number'), 
    type: DS.attr('string') 
}); 

같은 몇 가지 모델이있는 경우. 모든 트랜잭션의 총량을 계산하는 계산 된 속성이 있습니다. 내가 원하는 무엇

totalAmount:function() { 
    return this.getEach('amount').reduce(function(accum, item) { 
     return (Math.round(accum*100) + Math.round(item*100))/100; 
    }, 0); 
}.property('@each') 

은 종류에 따라 모든 거래의 총 금액을 반환 다른 계산 된 속성을 만들 것입니다 (예. 유형 모든 거래의 총 금액 == "VISA").

Ember js에서 어떻게합니까? 거기에 getAll 메서드 또는 배열 수있는 모든 트랜잭션 개체를 얻을 수있는 방법은 무엇입니까?

답변

2

Ember.Array 클래스에는이 작업을 수행 할 수있는 filterProperty 메서드가 있습니다. 당신은 특히 같은이를 호출 할 수

visaTotalAmount: function() { 
    return this.filterProperty('type', 'VISA').getEach('amount').reduce(function(accum, item) { 
     return (Math.round(accum*100) + Math.round(item*100))/100; 
    }, 0); 
}.property('@each') 

이 단지 VISA 유형을 필터링하고 이전처럼 전체 계산을 할 것입니다.

+0

filterProperty는 필자가 필요로하는 방법이었습니다! –

관련 문제