如何将模型数据映射到 ember.js 中的图表友好数组
How to map model data to a chart-friendly array in ember.js
我在路线中有一个模型,其中包含我想使用图表插件绘制图表的数据(ember-google-图表或 ember-图表细节不对我的问题很重要)
在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);
}
}
});
我的问题 where/how 将统计信息放入适当的数组(使用 timechecked 和玩家属性)以便将数据传递到模板中的图表插件中。
我试过类似的东西:
stats: this.store.query('stat', {filter: {serverId: params.server_id}}).then(items => {
//modify items here
})
但我很难弄清楚如何使用 forEach(它存在于 ember 数组 class 上)来操作数据和构建新数组而不引发错误
1.You 可以使用 forEach
迭代和 return 您创建的结果。参考 使用 ember 模型
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。如果你只想要普通数组,那么你可以使用 toArray
method。
我在路线中有一个模型,其中包含我想使用图表插件绘制图表的数据(ember-google-图表或 ember-图表细节不对我的问题很重要)
在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);
}
}
});
我的问题 where/how 将统计信息放入适当的数组(使用 timechecked 和玩家属性)以便将数据传递到模板中的图表插件中。
我试过类似的东西:
stats: this.store.query('stat', {filter: {serverId: params.server_id}}).then(items => {
//modify items here
})
但我很难弄清楚如何使用 forEach(它存在于 ember 数组 class 上)来操作数据和构建新数组而不引发错误
1.You 可以使用 forEach
迭代和 return 您创建的结果。参考
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。如果你只想要普通数组,那么你可以使用 toArray
method。