我需要从模型中访问JSON数据,我使用" this.model"在控制器中。从我在控制台日志中看到的" this.model"正在返回数组数组。
App.CardsRoute = Ember.Route.extend({
model: function() {
return Ember.$.getJSON('/cards');
}
});
这是路径/卡片返回的服务器:
[[1317888000000,372.5101],[1317888060000,372.4]]
我想在我的ember HighStock(来自HighCharts)实现中使用该数据。它使用此手动输入的数据绘制图表:
App.CardsController = Ember.ArrayController.extend({
series: [{
name : 'test',
type: 'area',
data :[[1317888000000,372.5101],[1317888060000,372.4]],
...
但不是这样画的:
App.CardsController = Ember.ArrayController.extend({
series: [{
name : 'test',
type: 'area',
data : this.model,
...
从我在控制台中看到的,this.model不仅返回包含数据数组的数组,还返回其他特定于ember的对象,问题是什么?如果是,那么如何只访问JSON返回的数据,以便我可以在控制器中使用它?
答案 0 :(得分:0)
在承诺成功后,您可以直接格式化路由器本身的数据。
初始化控制器时,此方法也将运行一次并将初始化。 要从控制器本身设置数据,请在json promise成功后格式化数据。 例如:
App.CardsRoute = Ember.Route.extend({
model: function() {
return Ember.$.getJSON('/cards');
}.then(function(data){
return [{
name : 'test',
type: 'area',
data : data,
...
}]
});
在控制器中执行此操作后
代码粘贴在jsbin http://jsbin.com/vekacayirugu/16/edit
中这种格式化将适合您。 参考:http://emberjs.com/guides/object-model/computed-properties-and-aggregate-data/