何时在其控制器中设置路由模型?

时间:2014-05-08 01:15:14

标签: ember.js

我正在尝试在我的控制器的init()中使用我的路线中的模型中的数据做一些工作,但发现它还没有。我不确定这是否是一个runloop的事情,或者我是否只是完全错过了一些东西。这是一个jsbin和代码,模板可以访问模型,但控制器不能来自init():

 <script type="text/x-handlebars" data-template-name="application">
    {{firstName}} {{lastName}}</script>

App.ApplicationController = Ember.ObjectController.extend({

  init: function(){console.log(this.get('content'));}

  });


App.ApplicationRoute = Ember.Route.extend({
  model: function(){
      return {firstName: 'Kris', lastName: 'Selden'};
  }
});

1 个答案:

答案 0 :(得分:0)

它发生在setupController的默认实现期间,这是在创建并初始化控制器之后发生的。它看起来有点像这样(在这里我会覆盖它并做它通常会做的事情)

App.ApplicationRoute = Ember.Route.extend({
  model: function(){
      return {firstName: 'Kris', lastName: 'Selden'};
  },
  setupController: function(controller, model){
    controller.set('model', model);
  }
});