最近我一直在阅读ember文档并尽可能地遵循。我取得了很好的进步,我感谢上帝,但最近我遇到了麻烦。具体来说,我可以在应用程序模板中显示模板,但是我无法在父资源模板中显示子路径。相反,子模板实际上取代了它。这是我的代码:
的index.html
<script type="text/x-handlebars" data-template-name="modals">
<h2>Modals Parent Route</h2>
<p>This is the modals route which is common to all modals</p>
{{outlet}}
</script>
<script type="text/x-handlebars" data-template-name="modals/layout">
<h2>Layout Route</h2>
</script>
<script type="text/x-handlebars" data-template-name="modals/visuals">
<h2>Visuals Route</h2>
</script>
<script type="text/x-handlebars" data-template-name="modals/finish">
<h2>Finish Route</h2>
</script>
<script type="text/x-handlebars" data-template-name="modals/preview">
<h2>Preview Route</h2>
</script>
&#13;
App.js
App.Router.map(function(){
this.resource('modals', { path:'/modals' }, function(){
this.route('layout');
this.route('visuals');
this.route('finish');
this.route('preview');
});
});
App.LayoutRoute = Em.Route.extend({
renderTemplate: function() {
this.render('modals.layout',{
into: 'modals',
});
}
&#13;
这不是完整的代码,但我认为这将与本主题有关。如果您需要完整的文件内容,请随时问我。
答案 0 :(得分:1)
所以我使用了ember-cli,最后找到了一种方法来实现这个功能。我用ember-cli g路线生成我的路线。除了应用程序之外,我为每条路线运行了一次。事情之后,事情才能正常运作。这是一个人为我创建的git存储库,可以帮助任何有这个问题的人:https://github.com/mooror/mooror。谢谢大家
答案 1 :(得分:0)
如果您想要嵌套模板,则需要嵌套路由。
this.resource('parent', function() {
this.route('child');
});
请参阅:http://guides.emberjs.com/v1.10.0/routing/defining-your-routes/#toc_nested-resources
答案 2 :(得分:0)
您正在使用的renderTemplate
方法完全覆盖了modals
的模板,这就是为什么要摆脱它。 Ember为您处理模板的渲染,没有必要使用您试图实现的基本功能。