模板不会渲染到命名插座中

时间:2014-09-20 10:01:14

标签: ember.js

我尝试创建几个将使用相同菜单的页面,以便我可以轻松保存菜单状态并避免代码重复。我的问题是菜单模板没有在页面的菜单插座中呈现。

以下是代码:

App.Router.map(function() {
     // put your routes here
     this.resource('profil', function() {
     this.route('news');
     this.route('menu');
  });
});

App.MenuRoute = Ember.Route.extend({
renderTemplate: function() {
     this.render({
        into: 'profil/news',
        outlet: 'menu',
     });
    }
 });

在index.html中我有:

<script type="text/x-handlebars" id="profil/news">
     ...
     {{outlet}}
     {{outlet menu}}
</script>

<script type="text/x-handlebars" id="menu">
    ...
</script>

模板&#39; profil / news&#39;已呈现,但模板&#39;菜单&#39;根本没有渲染:它应该在'profil / news&#39;内部呈现当我访问profil / news时。有什么想法吗?

谢谢

1 个答案:

答案 0 :(得分:0)

问题是我需要使用:

<script type="text/x-handlebars" id="profil/news">
   ...
   {{outlet}}
   {{render 'profil/menu'}}
</script>

并更改车把的名称以匹配路线:

<script type="text/x-handlebars" id="profil/menu">

此外,以App.Menuroute开头的声明是不必要的,并且会被删除。

现在一切都按预期工作了。