为什么我的流星{{#each}}不起作用?

时间:2015-05-19 01:34:17

标签: meteor

我在whensayfeed.meteor.com有一个流星应用。它应该重复这个div,它是mongo集合中每个文档的内容,但它不起作用。它曾经是。我似乎无法弄明白。我的代码是github上的here。如果你介意的话,这将是不可思议的。

HTML

<template name="FullFeed">
  {{#each posts}}
    <div class="post-contain">
      <div class="chant">{{adjective}} {{noun}}</div>
      <div class="author-box"><p>{{user}}</p></div>
    </div>
  {{/each}}
</template>

CSS

body {
  background-color: #0F76D2;
  margin: 0px;
  font-family: sans-serif;
  color: white;
}

.post-contain {
  position: relative;
  width: calc(100% - 20px);
  height: 230px;
  margin-top: 10px;
  margin-left: 10px;
  background-color: #0F76D2;
  -webkit-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.19);
}

.author-box {
  position: absolute;
  bottom: 0px;
  width: 100%;
  background-color: rgba(0,0,0,0.42);
  text-align: center;
  font-size: 20px;
  -webkit-box-shadow: 0px 1px 4px 0px rgba(0,0,0,0.5);
}

.author-box p {
  position: relative;
}

.author-box > p { margin: 0 }
.author-box { padding: 10px 0 }

.chant {
  font-size: 50px;
  font-weight: 600;
  -webkit-font-smoothing: antialiased;
}

.chant .varline {
  color: #3f3f3f;
}

JS

posts = new Mongo.Collection("posts");

Router.route('/', function () {
  this.render('FullFeed', {
    data: function () {  }
  });
});

if (Meteor.isClient) {
  // This code only runs on the client
  Template.FullFeed.helpers({
    posts: posts.find({}).fetch()
  });
}

1 个答案:

答案 0 :(得分:0)

您的问题在于UITableView帮助程序声明,您在首次执行应用程序代码时一次性将其声明为一个数组(使用posts)。

如果您希望在修改基础光标时反复执行您的助手,并且您不需要使用Cursor.fetch,Meteor fetch,则必须将您的助手声明为函数块已针对游标进行了优化。

{{#each}}