2017-08-14 1 views
0

Dans mon routeur j'ai le code let users= this.store.findAll('user')Ember Itère une promesse/store.findAll valeur de retour

Et mes user.js modèles seront name: DS.attr('string'), userName: DS.attr('string'), company: DS.attr('string')

Dans mon appareil de mirage je objet utilisateur défini comme [{'name':'smith','userName':'smith123'},{'name':'james','userName':'james222'}

Et dans mon routeur lorsque je fais let users= this.store.findAll('user') je veux parcourir users et ajouter company manuellement pour chaque utilisateur. Mais je suis incapable de trouver le moyen d'accéder aux objets utilisateur dans le fichier js du routeur.

Et même objet que je peux itérer dans le fichier .hbs. Mais impossible de trouver le moyen de l'itérer dans le fichier js du routeur. Pouvez-vous s'il vous plaît laissez-moi savoir la façon de le faire.

+0

Avez-vous lu [guides Ember] (https://guides.emberjs.com/v2.14.0/)? Ils couvrent toutes les bases. –

Répondre

0

findAll méthode (et findRecord aussi) renvoie un objet promise, pas itérable. Vous pouvez parcourir les utilisateurs après la promesse sera résolu. Pour ce faire, vous devez utiliser la méthode then:

this.store.findAll('user') 
    .then(users => { 
    /*Iterate here*/ 
    }) 
    .catch(error => { 
    /*Do something to inform user about network/server/request error here*/ 
    });