我有以下路由器设置:
Router.map(function() {
this.route("login");
this.route("dashboard");
this.route("projects", function() {
this.route("show", {path: "/:project_id"});
this.route('tasks', {path: "/:project_id/tasks" },function() {
this.route('new', {path: "/new"});
this.route('show', {path: "/:task_id"});
});
});
});
而且,在templates/projects/show.hbs
中,我想渲染用于创建新任务的组件(该组件由ember自动生成,但我在controllers/projects/tasks/new.js
和{{}}拥有自己的模板和控制器{1}})。我尝试了以下方法:
templates/projects/tasks/new.hbs
但是我收到了这个错误:
{{tasks/new model=model}}
解决这个问题的正确方法是什么?
答案 0 :(得分:2)
{{tasks/new
此处task/new
可以是组件或帮助程序,但不能是模板hbs。
如果您想在tasks/new
中添加templates/projects/show.hbs
,我建议您为tasks/new
创建组件,并将其包含在您需要的位置。
您可以尝试为模板hbs提及不同的templateName。使用templateName
属性。
在show.js
路径文件中定义templateName: 'projects/tasks/new'