有没有办法在Meteor中嵌套部分(HTML片段)?
为什么我不能说
<template name="foo">hello world!</template>
<template name="bar">{{> foo}}</template>
<template name="baz">{{> bar}}</template>
这在任何HTML页面中都很常见,而且它是Mustache和Handlebars的常规功能。为什么Meteor在尝试时会默默地失败?
答案 0 :(得分: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>
它仍然可以工作!!!!黑魔法!
答案 1 :(得分:0)
完整的Meteor文档提供了一些很好的简单示例,可以在this部分找到,还有一些其他有用的信息可以帮助您入门。基本上,您需要确保做的唯一事情就是让您的顶级模板包含在<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>
此外,您的模板不需要在与<body>
定义相同的HTML文件中定义。它们都可以在同一个文件中定义,也可以为每个模板分成不同的文件(一旦模板变得足够大和复杂,这就变得更好了。)