2014-09-20 85 views
0

我想創建幾個頁面,將使用相同的菜單,以便我可以輕鬆地保存菜單的狀態,並避免代碼重複。我的問題是菜單模板不會在頁面的菜單出口中呈現。模板不渲染到命名插座

下面是代碼:

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> 

'PROFIL /新聞' 被渲染,但模板 '菜單' 是不是在渲染模板全部:當我訪問profil /新聞時,它應該在'profil/news'內部呈現。任何想法 ?

謝謝

回答

0

問題是,我需要使用:

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

而要改變車把的名稱相匹配的路由:

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

此外,聲明從App.Menuroute開始是不必要的,並被刪除。

現在一切都按預期工作。