Comment mapper des données de modèle sur un tableau convivial pour les graphiques dans ember.js


JT Mechkowski

J'ai un modèle dans un itinéraire qui contient des données que j'aimerais cartographier à l'aide d'un plugin de graphique (les spécificités de ember-google-charts ou de ember-charts n'ont pas d'importance pour mon problème)

dans routes/server.js:

import Ember from 'ember';

export default Ember.Route.extend({
  model(params) {
    return Ember.RSVP.hash({
      stats: this.store.query('stat', {filter: {serverId: params.server_id}})
      server: this.store.findRecord('server', params.server_id),
    })
  },
  setupController(controller, models) {
    controller.setProperties(models);
  }
 }
});

Mon problème où/comment créer des statistiques dans un tableau approprié (en utilisant les attributs de contrôle du temps et des joueurs) afin de transmettre les données dans un plugin de création de graphiques dans le modèle.

J'ai essayé quelque chose de similaire à :

stats: this.store.query('stat', {filter: {serverId: params.server_id}}).then(items => {
    //modify items here

})

mais j'ai du mal à comprendre comment manipuler les données et créer un nouveau tableau sans générer d'erreurs à l'aide d'un forEach (qui existe sur la classe ember Array)

Monstre de la braise

1.Vous pouvez utiliser forEachpour itérer et renvoyer le résultat que vous avez créé. renvoyer cette réponse pour le travail avec le modèle de braise

stats: this.store.query('stat', { filter: { serverId: params.server_id } }).then(items => {
        //modify items here
        let result =[];
        items.forEach(function(element) {
          let value1 = element.get('propertyName');
          result.pushObject(value1);          
        }, this);
        return result;
    })

2. Si vous voulez juste un tableau simple, vous pouvez utiliser la toArrayméthode .

Articles connexes


Comment mapper sur un tableau dans JS

arixal J'essaye d'itérer sur un tableau d'objets dans React récupérés de Django. Mon objet est un tableau, mais lorsque j'essaie de le mapper, j'obtiens une erreur de type: impossible de lire la carte des propriétés d'undefined. L'État a une structure: Unité: