繁体   English   中英

Ember.js,HighCharts-从控制器访问JSON数据

[英]Ember.js , HighCharts - accessing JSON data from controller

我需要从模型访问JSON数据,我在控制器中使用了“ this.model”。 从我在控制台日志中看到的“ this.model”正在返回数据数组。

  App.CardsRoute = Ember.Route.extend({
model: function() {
 return Ember.$.getJSON('/cards');
}
});

这是路径/ cards返回的服务器:

[[1317888000000,372.5101],[1317888060000,372.4]]

我想在余烬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不仅返回带有数据数组的数组,而且还返回其他余烬特定的对象,这是问题吗? 如果是,那么如何仅访问JSON返回的数据,以便可以在控制器中使用它?

承诺成功后,您可以直接在路由器本身中格式化数据。

控制器初始化后,该方法也将运行一次并初始化。 要从控制器本身设置数据,请在json许诺成功后格式化数据。 例如:

 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/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM