在使用{{#each}}进行迭代时,如何不在Meteor中包含该条目

时间:2016-02-04 01:33:01

标签: meteor meteor-blaze

我设计这个应用程序的人要求她能够在接下来的7天内制作一个有生日的人的电子邮件列表。该集合中的一个字段是Bdate,格式为' YYYY-MM-DD'。我决定用一个简单的算法创建一个registerHelper,确定生日是否适合请求:

Template.registerHelper('calculateBirthday', function(bdate) {
  var birthDate = new Date(bdate);
  var current = new Date();
  var diff = current - birthDate; // Difference in milliseconds
  var sevenDayDiff = Math.ceil(diff/31557600000) - (diff/31557600000);
  if (sevenDayDiff <= 0.01995183087435)
    return date;
  else
    return false;
});

该模板将有一个表格,列出了为电子邮件列表获取的生日:

<table class="bordered">
  <thead>
    <tr>
      <th>Name</th>
      <th>Birthday</th>
    </tr>
  </thead>
  <tbody>
    {{#each QueryBirthday}}
    <tr>
    <tr>{{FullName}}</tr>
      <td>{{calculateBirthday Bdate}}</td>
    </tr>
    {{/each}}
    </tbody>
  </table>

这个问题是它打印的所有名称大多是空白的生日。该算法工作正常,但如何告诉Meteor只包括那些应该&#39;应该&#39;在名单上?

1 个答案:

答案 0 :(得分:3)

隐藏不需要的项目的最快方法是

every 5 minutes

我不知道你的应用程序是如何工作的,但是像其他评论你问题的人一样,我会过滤并仅将所需的结果从服务器发送到客户端。