Ember.js 如果所需的控制器由{render}helper初始化,则指定控制器之间的依赖关系
我想知道如果控制器已经由Ember.js 如果所需的控制器由{render}helper初始化,则指定控制器之间的依赖关系,ember.js,Ember.js,我想知道如果控制器已经由{render'.'或'/'包含路径'}}帮助程序初始化,是否有方法使用needs参数指定所需的控制器(无需重新初始化) 例如: //tasks.hbs {{render "tasks/create_task"}} //tasks_controller.js App.TasksController = Ember.Controller.extend({ needs: 'tasksCreateTask', aMethod: function() { //
{render'.'或'/'包含路径'}}
帮助程序初始化,是否有方法使用needs
参数指定所需的控制器(无需重新初始化)
例如:
//tasks.hbs
{{render "tasks/create_task"}}
//tasks_controller.js
App.TasksController = Ember.Controller.extend({
needs: 'tasksCreateTask',
aMethod: function() {
// The following code causes re-initialization of the
// App.TasksCreateTaskController, previously initialized by the render helper.
this.get('controllers.tasksCreateTask');
}
});
重新初始化的原因显然是余烬控制器缓存中同一控制器的不同键:键控制器:任务。创建任务存在,但控制器:任务创建任务不存在。我想可能是个虫子
请帮我摆脱重新初始化。这不是错误。控制器的名称为App.TasksCreateTaskController
,这意味着要在{{render}}
中使用它,您需要执行以下操作:
{{render "tasks.create_task"}}
您正在使用的格式:
{{render "tasks/create_task"}}
表示您希望Ember.js呈现控制器Tasks.CreateTaskController
(注意命名空间Tasks
,而不是App
)。/
用于告诉Ember.js使用不同的名称空间(我假设这不是您想要的名称空间)。谢谢!我忘了提到我使用的是Ember RC1。我今天将其更新为RC2,问题消失了。