我跟随教程here,添加了html和JavaScript以替换默认的标记/代码后,我得到了“ Uncaught TypeError:无法读取未定义的属性'helpers'”

这是我的HTML,直接来自tut:

<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>


...这是我的JavaScript,也直接来自tut:

if (Meteor.isClient) {
  // This code only runs on the client
  Template.body.helpers({
    tasks: [
      { text: "This is task 1" },
      { text: "This is task 2" },
      { text: "This is task 3" }
    ]
  });
}


我在页面上看到的只是h1(“ Todo列表”)。

有什么问题,如何纠正?

最佳答案

抱歉,我没有仔细看你的标记就回答了。请尝试以下操作:

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

    {{> tasks}}
  </div>
</body>

<template name="tasks">
  <ul>
    {{#each tasks}}
      {{> task}}
    {{/each}}
  </ul>
</template>

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


Template.tasks.helpers代替Template.body.helpers

关于javascript - 为什么在此简单的Meteor应用程序中出现“未捕获的TypeError:无法读取未定义的属性'helpers'”?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32122584/

10-09 17:54