http://jsbin.com/onikid/3/edit
有人可以告诉我为什么content
不坚持覆盖init
电话吗?如果我设置它工作正常content
,setupController
但这不是我想做的事情,因为我可以从多个路由使用这个控制器,我必须在所有“子”路由中初始化它。
http://jsbin.com/onikid/3/edit
有人可以告诉我为什么content
不坚持覆盖init
电话吗?如果我设置它工作正常content
,setupController
但这不是我想做的事情,因为我可以从多个路由使用这个控制器,我必须在所有“子”路由中初始化它。
它被保存,但再次被 ember 覆盖。以下代码在设置期间由路由运行(Link to Ember Source)。在您的情况下调用此函数时, contex 未定义。因此,控制器的内容(模型是别名)设置为未定义。
setup: function(context) {
this.redirected = false;
this._checkingRedirect = true;
this.redirect(context);
this._checkingRedirect = false;
if (this.redirected) { return false; }
var controller = this.controllerFor(this.routeName, context);
if (controller) {
this.controller = controller;
set(controller, 'model', context);
}
if (this.setupControllers) {
Ember.deprecate("Ember.Route.setupControllers is deprecated. Please use Ember.Route.setupController(controller, model) instead.");
this.setupControllers(controller, context);
} else {
this.setupController(controller, context);
}
if (this.renderTemplates) {
Ember.deprecate("Ember.Route.renderTemplates is deprecated. Please use Ember.Route.renderTemplate(controller, model) instead.");
this.renderTemplates(context);
} else {
this.renderTemplate(controller, context);
}
},
因此,您的要求可能无法满足,因为控制器的内容将始终设置为传递的上下文。