2016-08-30 3 views
0

テンプレートスコープ以外の特定の流行テンプレートに関連する変数を使用したいと思います。これは可能ですか?例えば鋳型脱塩以外の流星テンプレート変数を使用する

は:

main.html: 
<head> 
<title>{{title}}</title> 
</head> 

<template name="Layout"> 
... layout code ... 
{{> yield content}} 
</template> 

<template name="Home"> 
... code ... 
</template> 

<template name="Page2"> 
... code ... 
</template> 

鉄ルーターを使用して、与えられたテンプレートは、異なるルートに解決することができます。各ルートについて、そのルートを反映するようにタイトルを変更したいと思います。

現在、テンプレート内で変数が解決されてもテンプレートの外側は解決されないため、ページのタイトルは「{{title}}」になります。

答えて

0

現在、テンプレート外の変数をレンダリングすることはできません。しかし、あなたはこのようなことをすることができます。

Template.body.onRendered(() => { 
     Tracker.autorun(() => { 
      document.title = Router.current().route.getName(); 
     }); 
    }); 
+0

'onRendered()'は機能しませんでした。しかし、 'autorun()'を単独で使用すると、ページのタイトルが適切に更新されます。 ...おそらく私は何かが欠けているかもしれませんが、 'getName()'もうまくいきませんでした。 – user2487593

+0

私は "Router.current()。route.getName();"を入れました。ドキュメントが現在のルートを取得するように指定されています(ドキュメント:https://github.com/iron-meteor/iron-routerを参照) "route.getName()でルート名にアクセスできるようになりました。特に、 Router.current()。route.getName()を記述する必要があります。 " ほとんどのプロジェクトでFlow Routerを使用しているので、私はIron Routerに精通していません。しかしタイトルがTracker.autorunで更新されている場合は、正しい方向に向かっています。 console.logのいずれかのRouter.current()オブジェクトが何かを返すのですか? – NicholasByDesign

関連する問題