流星js没有回应

时间:2014-05-30 16:18:20

标签: meteor

我一直在使用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>

任何建议都将受到赞赏

2 个答案:

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

});

^^这也不会起作用。