2015-11-23 78 views
0

我想重新加載我的流星應用中的特定元素。 I am Meteor新來的,但我至少得到了客戶端路由,以防止重新加載。鐵路由器重新加載特定的標題元素

我基本上試圖重新加載標題中的一小段文本,即使標題本身在路由更改時不重新加載。

這裏是我的路由器JS:

Router.configure({ 
    layoutTemplate: 'PageLayout', 
    yieldTemplates: { 
    'Footer': {to: 'Footer'}, 
    'Header': {to: 'Header'} 
    } 
}); 
Router.route('/', {name: 'Home'}); 
Router.route('/about'); 

這裏是我的佈局:

<template name="PageLayout"> 
    <header> 
    {{> yield "Header"}} 
    </header> 

    <section id="page-container"> 
    {{> yield}} 
    </section> 

    <footer> 
    {{> yield "Footer"}} 
    </footer> 
</template> 

而這裏的基本上就是我的頭部模板的樣子:

<template name="Header"> 
    <span>'{{text}}'</span> <!-- this is what I'm trying to change when the route changes --> 
    <nav id="main-menu"> 
    <a href="/">Home</a> 
    <a href="/about">About</a> 
    </nav> 
</template> 

有什麼建議?

謝謝。

回答

0

假設您希望該標題反映當前的路由名稱。只是做一個模板幫手,它返回它:

Template.Header.helpers({ 
    text: function(){ 
    return Router.current().route.getName(); 
    } 
}) 
+0

謝謝。我會嘗試一下,讓它知道它是否有效。我有點認爲它可能很簡單,但我很難在搜索中找到任何東西。另外,這是如何在1.2.1中完成的?我看到類似的東西使用'Router.current()。route',但'Router.current()'保持返回'null'。 –

+0

我接受這個,因爲這個例子完成了我想要的,但是'Router.current()'爲我保留返回null。如果我要獲取當前路線,則必須改用'Iron.Location.get()。path'。感謝您幫助像我這樣的Meteor n00b。 –

+0

'Router.current()。route.getName()'在ir中工作1.0.12 –