当有setupController时,从模型钩子返回的模型值为null

时间:2014-10-01 15:06:46

标签: ember.js

为什么将setupController添加到路由时model挂钩返回的model值为null

http://jsbin.com/pahuno/1/edit

我知道我可以通过在model中设置setupController值来解决这个问题,但我想了解问题是什么

1 个答案:

答案 0 :(得分:3)

Working JSBin

当您使用钩子(例如setupControllerrenderTemplate)时,您将阻止Ember处理默认情况。调用默认方法:

App.IndexRoute = Ember.Route.extend({
  model: function() {
    return ['red', 'yellow', 'blue'];
  },
  setupController: function(controller, model) {
    this._super(controller, model);
  }
});

来自Ember来源的评论:

  

使用当前路径的控制器调用此方法   该       由model钩子提供的模型。

     

默认情况下,setupController挂钩设置model属性       控制器到model。如果在路由中实现setupController挂钩,它将会       防止此默认行为。如果你想保留这种行为       在实施setupController功能时,请务必致电       _super