2012-10-22 18 views
8

を設定します。流星は、私はこのような様々なテンプレートヘルパーを設定することができ流星では、全体的なテンプレートコンテキスト

素晴らしいですが、私は多くの変数を持っている場合、私は私がしたい、それらを個別に設定したいとは思わないでしょう
Template.story.title = function() { 
    return "title"; 
}; 
<template name="story"> 
    <h3>{{title}}</h3> 
    <p>{{description}}</p> 
</template> 

をコンテキストをメインテンプレートに渡します。

どうすればよいですか?

Template.story.data = function() { 
    return {title:"title", description:"desc"}; 
}; 
<template name="story"> 
    <h3>{{title}}</h3> 
    <p>{{description}}</p> 
</template> 

これは機能しません。 THanks

答えて

12

あなたがそれを呼び出すときは、テンプレートのコンテキストを設定することができます。

{{> story data}} 

Template.outerTemplate.data = function() { 
    return {title:"title", description:"desc"}; 
} 

それとも、ただその場でテンプレートコンテキストを設定するために{{#with}}を使用することができます。これは、しかし、作品

{{#with data}} 
    {{title}} 
{{/with}} 
5

あなたは絶対に正しい方法ですが、定義した方法でテンプレート変数を使用することができませんでした。 Template.story.dataがオブジェクトを返すように定義されているとして、あなたはオブジェクトのようにそれを使用する必要があります。

<template name="story"> 
    <h3>{{data.title}}</h3> 
    <p>{{data.description}}</p> 
</template> 

出来上がり。もちろん、すべてのテンプレート変数は単なる文字列以上を保持できます。

+2

感謝を主なコンテキストを設定する方法はないはずですか?流星の文書は、「これ」が想定される文脈であると言います。 'data'の代わりに' this'を設定する方法があります。ありがとう。 – Harry

関連する問題