我刚刚迁移了一个Ember应用程序,通过将podModulePrefix
属性添加到我的应用程序来使用pod结构。所有路径模板,支持路由模板的控制器以及路由本身都存在于:
app/
modules/
route_name/
template.hbs
controller.js
route.js
现在我做了很多手工切换带有命名插座的模板。因此路由模板可能包含两个命名的出口,并且可以在任何时候将4或5个模板呈现到这些出口中。截至目前,这些额外的模板位于Ember-CLI创建的模板目录中:
app/
templates/
route_name/
temp1
temp2
我的路线上可能存在的一个操作可能包含此调用:
this.render('route_name/temp1', {outlet: 'named', into: 'route_name'});
使其成为必要的步骤,以便放置在pod上的模板文件夹中的模板可解析:
app/
modules/
route_name/
template.hbs
controller.js
route.js
templates/
temp1
那么我如何在temp1
中引用this.render()
?
答案 0 :(得分:6)
这是通过创建一个包含所需名称的文件夹并将template.hbs
放入其中来完成的。
app/
modules/
route_name/
template.hbs
controller.js
route.js
temp1/
template.hbs
Pod不是全部或全部,所以您也可以在:
中创建模板app/
modules/
...
templates/
route_name/
temp1.hbs
解析器首先会查看pod路径,然后回到“传统”位置。要查看此情况,您可以在ENV.APP.LOG_RESOLVER = true;
environment.js