0

有没有办法在 Meteor 中嵌套部分(HTML 片段)?

为什么我不能说

<template name="foo">hello world!</template>
<template name="bar">{{> foo}}</template>
<template name="baz">{{> bar}}</template>

?

这在任何 HTML 页面中都是很常见的事情,并且是 Mustache 和 Handlebars 的常规功能。当我尝试这个时,为什么 Meteor 会默默地失败?

4

2 回答 2

0

为了澄清 sbking 是什么意思...

排行榜示例有一个 leaderboard.html 文件 https://github.com/meteor/meteor/blob/devel/examples/leaderboard/leaderboard.html

<head>
  <title>Leaderboard</title>
</head>

<body>
  <div id="outer">
    {{> leaderboard}}
  </div>
</body>

<template name="leaderboard">
  <div class="leaderboard">
    {{#each players}}
      {{> player}}
    {{/each}}
  </div>

  ...
</template>

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

但这可以分为许多文件,因为流星会查看所有文件。例如

leaderboard.html 会有

<template name="leaderboard">
  <div class="leaderboard">
    {{#each players}}
      {{> player}}
    {{/each}}
  </div>
  ...
</template>

和 player.html 会有

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

它仍然可以工作!!!!黑魔法!

于 2014-07-29T22:12:35.873 回答
0

完整的 Meteor 文档提供了几个很好的简单示例,可以在节中找到,还有一些其他有用的信息可以帮助您入门。基本上,您唯一需要确保的是将顶级模板包含在<body>标签中,如下所示:

<body>
    {{> a}}
</body>

<template name="a">
    Top-Level Template
</template>

然后,您可以从那里一直嵌套到最深的模板:

<template name="a">
    Top-Level Template
    {{> b}}
</template>

<template name="b">
    Mid-Level Template
    {{> c}}
</template>

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

此外,您的模板不需要在与您的定义相同的 HTML 文件中<body>定义。它们都可以在同一个文件中定义,也可以为每个模板分离到不同的文件中(一旦模板变得足够大和复杂,这将成为一个好主意)。

于 2015-07-20T01:56:56.833 回答