0

我有一个 HTML 文档:

<body>
    {{> today_list}}    
</body>

和模板:

<template name="today_list">
   {{#if action_log_mode}}
   ...
   {{/if}}


   {{#if action_list_mode}}
   ...
   {{/if}}
</template>

是否可以将此模板拆分为另外两个。像这样的东西:

<body>
  {{#if action_log_mode}}
    {{> one}}
  {{/if}}   
  {{#if action_list_mode}}
    {{> two}}
  {{/if}}   
</body>
4

1 回答 1

1

您可以拥有任意数量的模板,并且它们可以嵌套。它们可能位于相同或不同的 .html 文件中。

如果不进行测试,我不知道您是否可以在正文中(在模板之外)确定模板助手的范围。模板助手的范围是特定的模板。例如,“一”Template.one.listItem = function () { ...将无法在模板“二”中访问。但是,您可以添加一个全局帮助器(可能在 中工作<body>),如下所示(取自Meteor wiki):

Handlebars.registerHelper("foo", function() {
  return "blah"; // (calculate value here)
});

绝对可行的是:

在 app.html 中

<body>
  {{ > page }}
</body>

<template name="page">
   {{#if isLogMode}}
     {{ > one }}
   {{else}}
     {{ > two }}
   {{/if}}
</template>

<template name="one">
  ...
</template>

<template name="two">
  ...
</template>

在 app.js 中

Template.page.isLogMode = function () {
  // (something like)
  return Session.get('logMode') === "log";
};
于 2013-04-19T10:20:07.847 回答