私はMeteorで試しているニュースフィードのアイデアを持っていますが、いまいましい動作をさせるのに問題があります:)ページの読み込み/更新時にニュースフィードをロードしたいのですが、データが変化します。ドキュメント{reactive: false}
で、コレクションの find メソッドに追加すると、レンダリング時に生成された結果に固執する必要があることがわかりましたが、うまくいかないようです。Meteor はすぐにテンプレートを更新し続けます。
これが私が持っているコードです:
サーバー側:
Meteor.publish("newsfeed", function () {
return Newsfeed.find({});
});
クライアント側:
Meteor.subscribe('newsfeed');
Template.feed.feed_data = function() {
var feed = Newsfeed.find({}, {
sort: {updated_time: -1},
limit: 10,
reactive: false
});
return feed;
};
テンプレートでは:
<template name="feed">
<div id="feed-wrapper">
<ul>
{{#each feed_data}}
<li>
<div class="message">{{message}}</div>
</li>
{{/each}}
</ul>
</div>
</template>
その後Newsfeed.update({_id: 'some_random_id'}, {$set: {date_created: 'some_random_date'}})
、Dev Tools で実行すると、テンプレートによってニュース フィードの並べ替えが更新され、変更されます。
そうならないようにするにはどうすればいいですか?:D