Tweets = new Meteor.Collection('tweets');
if (Meteor.isClient) {
Meteor.subscribe('tweets');
Template.Panel.helpers({
items: function() {
var days_tweets = Tweets.find();
console.log(days_tweets.count());
return days_tweets;
});
}
if (Meteor.isServer) {
Meteor.publish('tweets', function() {
return Tweets.find({}, {limit: 1000});
});
Шаблон:
<body>
<h1>This is a list of tweets</h1>
{{> Panel}}
</body>
<template name="Panel">
<h2>A list of tweets sorted by size</h2>
{{#each items}}
<p>item</p>
{{/each}}
</template>
И вывод консоли при загрузке страницы:
Tweet count: 0
Tweet count: 129
Tweet count: 272
Tweet count: 366
Tweet count: 457
Tweet count: 547
Tweet count: 672
Tweet count: 814
Tweet count: 941
Tweet count: 1000
Таким образом, вспомогательная функция срабатывает 10 раз при загрузке страницы (количество раз варьируется). Кто-нибудь может объяснить, что здесь происходит? Я не могу найти никаких ссылок на это, примите в ситуациях, когда помощник вызывается из нескольких {{}} в шаблоне. Также любой способ остановить это? В конце концов мне нужно обработать твиты за один раз, прежде чем они будут отображены.