2016-04-10 13 views
0

私はこのようなHomeLayout.htmlを持っている:流星Iron.Routerダイナミックテンプレート

<template name="HomeLayout"> 
    <main> 
    {{>Template.dynamic template=main}} 
    </main> 
</template> 

そして、このようなLoginLayout.html:

<template name="LoginLayout"> 
    <main> 
    <p> Login Layout Test </p> 
    </main> 
</template> 

私はHomeLayout内の入力にこのLoginLayoutをしようとしています。ちょうどあなたが動的に挿入するテンプレートを返すヘルパーを定義

答えて

1

...

Router.route('/', function() { 
    this.render('HomeLayout'); 
}); 

しかし、私はHomeLayout内でこのLoginLayoutをロードする方法を知らない:私はこのコードを使用HomeLayoutを開始するには :あなたは{{>Template.dynamic template=main}}上記のヘルパーを持っている

Template.HomeLayout.helpers({ 
    main: function(){ 
    return "LoginLayout"; 
    } 
}); 

ヘルパーとしてmainを評価し、それはあなたが探しているレイアウトを返します。

あなたの<main></main>タグが何をしているのかわかりません。

+0

Iron routerは{{> yield}}で動作しませんし、現在のルート名を使用して一致するテンプレートを検索しますか? –

+0

@JanJoukeTjalsmaはい、動的テンプレートは通常、i-rによって制御されません。動的テンプレートに渡される変数を提供するものによって制御されます。動的テンプレートは、 '{{yield}}'の制御をさらに強化します。たとえば、テンプレート間でイベントマップを共有したい場合などに便利です。 –