2012-10-22 59 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

感謝這個工作,但,不應該有一種方法來設置一個主要的上下文嗎?流星文件說,這是假定的背景。應該有一種方法來設置'this'而不是'data'。謝謝。 – Harry