2014-10-02 147 views
3

我的HTML:如何從流星模板助手返回模板?

<template name="foo"> 
    {{#each category}} 
     {{#if this.custom}} 
       {{> someTemplateName}} 
     {{else}} 
       {{> generic}} 
     {{/if}} 
    {{/each}} 
</template 

如何一定的價值迴歸`someTemplateName」,這樣我可以切換基於#each聲明的對象模板。

Template.foo.someTemplateName = function() { 
     return A_TEMPLATE_NAME 
} 

謝謝。

回答

2

解決辦法其實很簡單。

<template name="foo"> 
    {{#each category}} 
     {{#if this.custom}} 
      {{> someTemplateName}} 
     {{else}} 
      {{> generic}} 
     {{/if}} 
    {{/each}} 
</template> 

我返回一個幫手:

Template.foo.someTemplateName = function() { 
    return Template[this.name]; 
} 

哪裏this.name從`{{#each}}」上下文。

2

正確的語法如下:

JS

Template.foo.helpers({ 
    someTemplate:function() { 
    return Template.someTemplate; 
    } 
}); 

HTML

<template name="someTemplate"> 
    <p>SOME TEMPLATE</p> 
</template> 

它不是真正的名字,你操縱它,但是它生活在變量名Template.myTemplate模板對象。

如果你想操作模板名稱,嘗試UI.dynamic

HTML

<template name="foo"> 
    {{> UI.dynamic template=someTemplateName}} 
</template> 

JS

Template.foo.helpers({ 
    someTemplateName:function() { 
    return "someTemplate"; 
    } 
}); 
+0

謝謝!我看到你的帖子有點晚了。我推導的實現非常相似。 – Nate 2014-10-02 21:12:16

相關問題