2015-07-25 21 views
8

Açısal 2: 2.0.0-alpha.31/typescript 1.5Açısal 2'de groupBy işlemi nasıl yapılır?

I Bu sorgu, beni bu Json nesnesi geri

this.http.get('/data/players.json') 
        .toRx() 
        .map((res) => res.json()) 
        .subscribe((data) => { 
         this.players = data; 
        }); 

bir http.get terimi verileri istenen (this.players)

[ 
    {"team":"teamA","name":"player1","age":"1"}, 
    {"team":"teamA","name":"player2","age":"1"}, 
    {"team":"teamA","name":"player3","age":"1"}, 
    {"team":"teamB","name":"player4","age":"1"}, 
    {"team":"teamB","name":"player5","age":"1"} 
] 

Ardından, ekibi

'ye göre gruplandırıyorum.

Angular2 (doğrudan @View?) 'Da nasıl groupByteam1 yapabilirim?

GÜNCELLEME

Ben Açısal on 1 olduğunu gördük bu ngFor üzerinde | groupBy:'propertyName' kullanarak görünümünde yapılabilir. Açısal 2'de böyle bir şey var mı?

cevap

0

Filtre kullanabiliyor musunuz? Emin

var test = [ 
    {"team":"teamA","name":"player1","age":"1"}, 
    {"team":"teamA","name":"player2","age":"1"}, 
    {"team":"teamA","name":"player3","age":"1"}, 
    {"team":"teamB","name":"player4","age":"1"}, 
    {"team":"teamB","name":"player5","age":"1"} 
]; 

function FilterByTeam(obj){ 
    console.log(obj); 
    return obj.team === "teamA"; 
} 

var teamA = test.filter(FilterByTeam); 
console.log(teamA) 
+0

Ne yazık ki, bir görünüm içine dinamik yapmak istiyorum. Bunu angular1 üzerinde gördüm, bu ile yapılabilir: Oyuncularda oyuncu | groupBy: 'ekip', benzer bir şey arıyorum. Teşekkürler – plone1

+0

http://sobrepere.com/blog/2014/10/14/creating-groupby-filter-angularjs/ – tire0011

4

Tam o tanıtıldı ancak RX's GroupBy function çağırabilir Angular2 hangi sürümü. Daha yeni sürümlerde de .toRx() aramasına ihtiyacınız olduğunu düşünmüyorum.

böyle bir şey eklemek abone önce:

.map((res) => res.json()) 
.groupBy(
    x => x.team, 
    x => x 
); 
İlgili konular