2017-12-16 3 views
0

Ich versuche ein Objekt im Modell Hook abzubilden. Ich habe dieses Objekt von Mirage zur Verfügung gestellt.ember map objekt aus ember datenspeicher

let temp = {"users": [ 
    { 
     "id":1, 
     "forename":"Test", 
     "surname":"Name" 
    }, 
    { 
     "id":2, 
     "forename":"Hans", 
     "surname":"Solo" 
    }, 
    { 
     "id":3, 
     "forename":"Peter", 
     "surname":"Pan" 
    } 
] 

};

Im Modell Haken ich diese verwenden möchten:

return this.get('store').findAll('user').then(x => x.map(x => x.id + x.forename + x.surname)); 

Ich erhalte diese:

1 [object Object] [object Object] 2 [object Object] [Objekt Objekt ] 133000 [object Object] [object Object] 3 [object Objekt] [object Object]

Und ich dies (an dem m in der Vorlage verwenden oment nur für den Test, wenn es funktioniert):

{{#each model as |SingleUser|}} 
{{SingleUser}} 
{{/each}} 

Ich habe versucht, nur auf die ID zuordnen und das funktioniert gut. Außerdem funktioniert es gut, wenn ich die Temperatur direkt im Model Hook deklariere. Gibt es Versprechen, die meine Karte behindern?

Ich brauche diese Arbeit, weil ich eine Ember-Power-Auswahl Multiselektion implementieren und ich möchte dem Benutzer die ID, Vornamen und surename zeigen.

Antwort

1

Ember wickeln alle POJOs in den Laden mit Ember Object.

.then(x => x.map(x => x.get('id') + x.get('forename') + x.get('surname'))); 

Hier sind nur ein paar Worte über Getter und Setter in offiziellen

: Im Gegensatz zu POJO, haben Ember Objects Getter/Setter und Sie sollten es gerne verwenden:

obj.get('property'); 
obj.set('property', 'value'); 

Sie sollten Ihren Code ändern Anleitung: Ember Guides (am Ende der Seite). Sie können auch get/set API (URLs zu API im Leitartikel) lesen.

Werfen Sie auch einen Blick auf computed properties. Wahrscheinlich wird dies in Ihrem Fall verwendbar sein.

+0

Funktioniert! Vielen Dank – panx36