首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Template.body对Template.myTemplate

Template.body对Template.myTemplate
EN

Stack Overflow用户
提问于 2015-04-29 15:01:59
回答 2查看 1.9K关注 0票数 3

我目前正在读流星教程(https://www.meteor.com/try),并且遇到了一些令我困惑的模板。

在本教程中,创建了一个简单的"Todo List“应用程序。在这个应用程序中,以下HTML放在simple-todos.html文件中:

代码语言:javascript
复制
<!-- simple-todos.html -->
<head>
  <title>Todo List</title>
</head>

<body>
  <div class="container">
    <header>
      <h1>Todo List</h1>
    </header>

    <ul>
      {{#each tasks}}
        {{> task}}
      {{/each}}
    </ul>
  </div>
</body>

<template name="task">
  <li>{{text}}</li>
</template>

然后,在simple-todos.js文件中放置以下JavaScript:

代码语言:javascript
复制
// simple-todos.js
Tasks = new Mongo.Collection("tasks");

if (Meteor.isClient) {
  // This code only runs on the client
  Template.body.helpers({
    tasks: function () {
      return Tasks.find({});
    }
  });
}

此时,该示例的工作原理与预期完全相同。然而,当我在文档中穿插时,以及在web上查看其他示例时,我注意到了稍微不同的语法:使用Template.myTemplate而不是Template.body.。

因此,出于好奇,我修改了我的JavaScript文件如下:

代码语言:javascript
复制
Template.task.helpers({ ...

而不是:

代码语言:javascript
复制
Template.body.helpers({ ...

但是,当我现在运行应用程序时,客户端不会显示来自集合的数据。我不会收到任何关于未定义类型的错误,就像我在JavaScript中拼写模板名时所做的那样,因此它似乎正确地解析了模板。但是为什么它不被使用或者渲染呢?

更进一步:什么时候使用Template.myTemplate合适,什么时候使用Template.body合适?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-04-29 15:34:00

帮助代码只适用于它附加的模板。

因此,适用于Template.task的代码将只应用于名为“任务”的模板。

Template.body就像一个一次性的存在,因为如果它不存在就会很奇怪,这是一种专门针对<body>的方法,尽管从技术上讲,没有一个名为"body“的模板。

那么,到底发生了什么:

  • 父模板=正文
  • 子模板=任务

你的逻辑是:

在父模板中,对于我们找到的每个任务,呈现子模板“任务”的一个实例。

如果您将助手从body更改为task,则不会得到任何输出,除非您模仿已经发生的模式:

代码语言:javascript
复制
    <template name="task">
      {{#each tasks}}
       do something
      {{/each}}
    </template>
票数 7
EN

Stack Overflow用户

发布于 2016-06-13 05:09:14

这是因为<body>是父模板,您应该这样对待它:

<template="body>stuff that normally goes in an HTML body here</template>

当您移除主体的帮助程序时,就不会显示任何数据,因为帮助程序将数据传递到模板中。没有模板的助手,即身体,你就没有数据。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29947563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档