2017-03-02 82 views
0

中使用的車把我想用它來指代另一個模板的{{#each}}環內流星:如何車把

HTML:

{{#each listOfItems}} 
{{>{{variableOne}}}} 
{{/each}} 

它應該呈現

<Template name="one"> 
One 
</Template> 

<Template name="two"> 
Two 
</Template> 

德在JS未決

其他試圖語法包括

{{>'{{variableOne}}'}} 

{{>Template.dynamic template={{variableOne}}}} 

任何幫助或解決方法不勝感激!

回答

1

不知道你想要完成什麼。我假設你正在使用Blaze渲染引擎。如果你想傳遞參數試試這個:

{{#each}} 
    {{> TemplateName variable=variable}} 
{{/each}} 

或者,如果你想顯示某些模板取決於變量值試試這個(注意 - 情商意味着作爲全球幫手比較值):

{{#each}} 
    {{#if variable eq 1}} 
    {{> TemplateOne}} 
    {{else}} 
    {{> TemplateTwo}} 
    {{/if}} 
{{/each}} 
+0

HM,我想從每個循環中的一個文檔屬性來定義正在被加載的模板。所以我不想在自己的幫助器中定義'變量',它應該在幫助器中定義每個循環 – janjackson

+1

{{#each item in listOfItems}} {{#if item.property eq 1}} {{ > TemplateOne}} {{別的}} {{> TemplateTwo}} {{/如果}} {{/每}} 退房這個包的一些有用的工具:[鏈接](https://開頭atmospherejs.com/universe/utilities-blaze) – metalcamp

+0

這就是我一直在尋找的東西。從未見過{{#each item in listOfItems}}語法。但是這意味着,我可以做{{> item.templateName}},對吧?稍後會試用此:) – janjackson

1

假設你遍歷列表中包含模板名稱,這會得到你想要的東西:

HTML:

<template name="hello"> 
    {{#each template in myTemplates}} 
    {{> Template.dynamic template=template }} 
    {{/each}} 
</template> 

<template name='foo'>foo-template</template> 
<template name='bar'>bar-template</template> 

JS:

Template.hello.helpers({ 
    myTemplates() { 
    return ['foo', 'bar']; 
    }, 
});