2015-06-07 37 views
2

我開始開發流星web應用程序。我使用帶有鐵路的流星和一個使用良率的main layout.html文件。

在router.js我有:流星:在spacebars中獲取模板名稱

Router.configure({ 
    layoutTemplate: 'layout', 
    loadingTemplate: 'loading' 
}); 

Router.route('/login', {name: 'login'}); 

在的layout.html:

<template name="layout"> 
    <div class="container"> 
     {{> header}} 
     <main id="{{ actualLoadedTemplate }}"> 
      {{> yield}} 
     </main> 
    </div> 
</template> 

我願意 '主' 的標籤,有實際加載的模板的ID, 「登陸」在這種情況下。 有沒有辦法做到這一點?有什麼建議? 感謝

回答

1

您可以在佈局定義模板幫手:

Template.layout.helpers({ 
    actualLoadedTemplate: function(){ 
    return Router.current() && Router.current().template; 
    } 
}); 
+0

剛剛嘗試過,但總是返回undefined。也許是因爲助手在加載的視圖之外被調用? –

4

我想通了

Template.registerHelper('actualLoadedTemplate', function(){ 
    return Router.current() && Router.current().route.getName().replace('.','-'); 
    } 
); 
3

templateName = template.view.name.replace('Template.', '')

templateTemplate.instance()thisonCreatedonRenderedonDestroyed回調