为什么将setupController
添加到路由时model
挂钩返回的model
值为null
?
http://jsbin.com/pahuno/1/edit
我知道我可以通过在model
中设置setupController
值来解决这个问题,但我想了解问题是什么
答案 0 :(得分:3)
当您使用钩子(例如setupController
或renderTemplate
)时,您将阻止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
: