2016-04-18 13 views
0

Ich habe eine Liste von Peoples (People-Objekt) von meinem Json API und ich habe es in einer Variablen gespeichert über this.people zugegriffen.Angular 2 - Holen Sie sich das richtige Objekt aus einem Array von Objekten

ich die Person zugreifen muß, wo sein Dreh Objekt age = 15 vorausgesetzt, es Objekt defind nur eine Schwenk von 15 mit dem Alter ist

  1. Kann ich mit Winkel 2 dieses spezielle Objekt zugreifen?
  2. Wenn nicht, muss ich meine API ändern, um eine neue Anfrage zu stellen?

Vielen Dank im Voraus!

Antwort

2

Sie könnten ein eigenes Rohr implementieren:

@Pipe({ 
    name: 'filter' 
}) 
export class FilterPipe { 
    transform(val) { 
    return val.filter((elt) => elt.age === 15); 
    } 
} 

und es auf diese Weise verwenden:

{{people | filter}} 

Vergessen Sie nicht, die Pfeife in die pipes Attribut der Komponente hinzuzufügen, wo Sie wollen Verwenden Sie es:

Sie könnten diese Pipe ein bisschen generische mit Parameter machen s:

@Pipe({ 
    name: 'filter' 
}) 
export class FilterPipe { 
    transform(val, params) { 
    var field = params[0]; 
    var fieldValue = params[1]; 
    return val.filter((elt) => elt[field] === fieldValue); 
    } 
} 

und es auf diese Weise verwenden:

{{people | filter:age:15}} 
+0

Was die "elt" Variable ist? – TheUnreal

+0

'elt' ist ein Array-Element. Es wird der Pfeilfunktion zur Verfügung gestellt ... Die 'filter' Methode iteriert über die Werte des Arrays. –

Verwandte Themen