我一直在使用meteor.js并且一直在练习使用meteor.js Javascript框架开始的示例。这本书已有2年历史了,我遇到了一些障碍。例如,本书告诉你使用var来定义一个变量,但是在堆栈上搜索后我读到你没有必要使用它,现在它可以工作了。我是新的,所以我编写程序,运行它们,调试它们并从头开始帮助我学习。出于某种原因,我今天做过4次的这个程序没有运行,我无法弄清楚原因。
我一直收到这条消息:
While building the application:
LendLib.html:37: Expected "template" end tag
...  </div>
输入以下代码后:
<head>
<title>LendLib</title>
</head>
<body>
{{> hello}}
<div id="categories-container">
{{> categories}}
</div>
</body>
<template name="hello">
<h1>Lending Library</h1>{{greeting}}
<input type="button" value="Click" />
<template name="categories">
<div class="title">my stuff</div>
<div id="categories">{{#each lists}}
<div class="category">{{Category}}</div>{{/each}} </div>
</template>
</template>
任何建议都将受到赞赏
答案 0 :(得分:1)
不要在另一个模板中定义模板。 试试这样。
<template name="hello">
<h1>Lending Library</h1>
{{greeting}}
<input type="button" value="Click" />
</template>
<template name="categories">
<div class="title">my stuff</div>
<div id="categories">
{{#each lists}}
<div class="category">
{{Category}}
</div>
{{/each}} 
</div>
</template>
答案 1 :(得分:-1)
就像pahan所说,你无法在另一个模板中定义模板。它们每个都必须是独立的和非嵌套的。但是,您可以从另一个模板中调用模板。
<template name="myOtherTemplate">
<h1> Lalalala </h1>
</template>
<template name="myTemplate">
{{> myOtherTemplate}} //injects the contents of myOtherTemplate
</template>
另一方面,您也无法在其他Template
个实例中嵌套Template
个实例。
假设您只想在渲染某个模板后注册一个辅助函数。
Template.myTemplate.rendered = function({
Template.myTemplate.helpers({
key: "value",
anotherKey: "anotherValue"
});
});
^^这也不会起作用。