簡體   English   中英

如何從流星模板助手返回模板?

[英]How Do I Return Template From Meteor Template Helper?

我的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
 }

謝謝。

正確的語法如下:

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";
  }
});

解決方案實際上非常簡單。

 <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}}'上下文。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM