Comment mapper des données de modèle sur un tableau convivial pour les graphiques dans ember.js
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)
1.Vous pouvez utiliser forEach
pour 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 toArray
méthode .