Ember.js 模型在控制器上返回null

Ember.js 模型在控制器上返回null,ember.js,ember-data,Ember.js,Ember Data,我正在使用路由器和控制器,我需要在控制器上完成一些操作,这是我的模型代码 AcornsTest.StockRoute = Ember.Route.extend({ model: function(params) { "use strict"; var url_params = params.slug.split('|'), url = AcornsTest.Config.quandl.URL + '/' + url_params[0] + '/' + url_pa

我正在使用路由器和控制器,我需要在控制器上完成一些操作,这是我的模型代码

AcornsTest.StockRoute = Ember.Route.extend({
  model: function(params) {
    "use strict";
    var url_params = params.slug.split('|'),
      url = AcornsTest.Config.quandl.URL + '/' + url_params[0] + '/' + url_params[1] + '.json',
      stockInStore = this.store.getById('stock', url_params[1]),
      today =  new Date(),
      yearAgo = new Date(),
      self = this;

    yearAgo.setFullYear(today.getFullYear() - 1);
    today = today.getFullYear()+'-'+today.getMonth()+'-'+today.getDate();
    yearAgo = yearAgo.getFullYear()+'-'+yearAgo.getMonth()+'-'+yearAgo.getDate();

    if(stockInStore && stockInStore.get('data').length) {
      return stockInStore;
    }

    return Ember.$.getJSON(url,{ trim_start: yearAgo, trim_end: today, auth_token: AcornsTest.Config.quandl.APIKEY })
      .then(function(data) {
        if(stockInStore) {
           return stockInStore.set('data', data.data);
        } else {
           return self.store.createRecord('stock', {
            id: data.code,
            source_code: data.source_code,
            code: data.code,
            name: data.name,
            description: data.description,
            display_url: data.display_url,
            source_name: data.source_name,
            data: data.data,
            slug: data.source_code+'|'+data.code
          });
        }
    });
  }
});
这是我的控制器

AcornsTest.StockController = Ember.ObjectController.extend({
  init: function() {
    "use strict";

    this.send('generateChartInfo');
  },

  actions: {
    generateChartInfo: function() {
      "use strict";

      console.log(this.model);
      console.log(this.get('model'));
    }
  }
});
我试图从控制器访问模型,获取一些信息并对其进行格式化,然后将其发送到视图
但是this.model或this.get('model')始终返回null,如何从控制器成功访问该模型?谢谢

您正在重写
init
方法,但它已损坏,请执行以下操作:

AcornsTest.StockController = Ember.ObjectController.extend({
  init: function() {
    "use strict";
    this._super();

    this.send('generateChartInfo');
});
您需要调用父方法

请参阅此测试用例:


模型在
init
时间未就绪。如果任何人有官方文档,请共享。

刚刚做了更改,这是我在控制台上得到的未定义的nullinit是在创建控制器时,这发生在setupController之前。在setupController中,在控制器上设置模型。