【问题标题】:Why Does Meteor Spacebars #each Tag Not Render Content?为什么 Meteor Spacebars #each 标签不渲染内容?
【发布时间】:2014-07-06 06:24:25
【问题描述】:

下面的 html 中的 {{name}} 在应该说“hello world”时不会向页面中注入任何内容。我什至尝试删除 {{name}} 并放入像“blah blah blah”这样简单的东西。但是,该页面不显示文本。

我遇到的一个错误是::1039:17: #each 需要一个参数(编译 raffler.html)

raffler.html

<head>
  <title>Raffler</title>
</head>

<body>
  <div id="container">{{> raffle}}</div>
</body>

<template name="raffle">
  <h1>Raffler</h1>

  <ul id="entries">
    {{#each entries}}
      <li> {{name}} </li>
    {{/each}}
  </ul>
 </template>

raffler.coffee

if Meteor.is_client
  Template.raffle.entries = [{name: "hello world"}]

我也在学习本教程: http://railscasts.com/episodes/351-a-look-at-meteor

【问题讨论】:

  • 您缺少一个结束模板标签,但我认为这不是问题所在。您是否尝试打印出entries 的内容以查看是否设置正确?
  • 除了缺少&lt;/template&gt;之外,此代码工作正常。
  • 关闭模板在那里,只是在堆栈溢出中没有正确格式化,所以没有显示。 {{#each}} 标签似乎是问题所在。例如,如果我把
  • blah blah
  • 放在那里,它仍然不起作用。但是,如果我删除 {{#each entries}},就会出现废话。即使我直接从正确的教程版本 github 复制并粘贴后,它仍然无法正常工作。这让我觉得我的设置有问题,我需要先添加一些东西。

标签: meteor coffeescript spacebars meteor-helper


【解决方案1】:

你的代码看起来不错,也许你错过了&lt;/template&gt;,也试试这个:

if Meteor.is_client
  Template.raffle.entries = ->
    [name: "hello world"]

再次不确定它是否有助于您的代码看起来还不错

【讨论】:

  • 关闭模板在那里,只是在堆栈溢出中没有正确格式化,所以没有显示。 {{#each}} 标签似乎是问题所在。例如,如果我把
  • blah blah
  • 放在那里,它仍然不起作用。但是,如果我删除 {{#each entries}},就会出现废话。即使我直接从正确的教程版本 github 复制并粘贴后,它仍然无法正常工作。这让我觉得我的设置有问题,我需要先添加一些东西。
  • @SeanL 我想我知道它是什么,使用Meteor.isClient 而不是Meteor.is_client。此后已更新。
  • 谢谢,如果您想更新其他人的答案,我相信已修复它,请检查它
  • 猜你喜欢
    相关资源
    最近更新 更多
    热门标签