我设计这个应用程序的人要求她能够在接下来的7天内给生日的人做一个电子邮件列表。集合中的字段之一是格式为'YYYY-MM-DD‘的Bdate。我决定使用一个简单的算法来创建一个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只包括“应该”出现在列表上的名字和生日?
发布于 2016-02-04 03:19:43
隐藏不需要的物品的最快方法是
<table class="bordered">
<thead>
<tr>
<th>Name</th>
<th>Birthday</th>
</tr>
</thead>
<tbody>
{{#each QueryBirthday}}
{{#if calculateBirthday Bdate}}
<tr>
<td>{{FullName}}</td>
<td>{{calculateBirthday Bdate}}</td>
</tr>
{{/if}}
{{/each}}
</tbody>
</table>我不知道您的应用程序是如何工作的,但是像其他对您的问题发表评论的人一样,我只会从服务器到客户端过滤和发送所需的结果。
https://stackoverflow.com/questions/35190973
复制相似问题