【发布时间】:2014-04-27 12:02:15
【问题描述】:
我遇到了一点订阅问题,必须时却不停止。
上下文:
我有一个推文集合,我通过发布/订阅流程向我的客户展示。 这是我的出版物:
Meteor.publish('tweets', function(params) {
return Tweets.find({hashtag: params});
});
你可以看到我有一个标签来对它们进行排序,并且只显示带有指定标签的推文。 这是我订阅的客户端代码:
var sub;
Template.hashtagPage.rendered = function() {
// Get the hashtag of the current page
hashtag = document.getElementById('hashtag').innerHTML;
sub = Meteor.subscribe('tweets', hashtag);
};
Template.hashtagPage.destroyed = function(){
sub.stop();
};
在我的模板中,我会显示订阅时收到的每条推文。我为每个显示推文的页面获得相同的模板。
但这是我的问题。当我第一次进入显示带有标签 #first 的推文的页面时,我可以毫无问题地得到它们。但是,如果接下来我转到显示带有标签 #second 的推文的页面,我的客户会显示带有标签 #first 和 #second 的推文强>。
我在想什么
通常,订阅上的 .stop() 应该从客户端缓存 (docs.meteor.com/#meteor_subscribe) 中删除订阅数据。但我没有。我试图改变 sub.stop() 的位置。当它与订阅在同一个模板函数上时,它可以工作,但是,不会显示任何推文。
如何停止订阅,只在我的客户页面中显示带有好标签的商品推文?
提前致谢
【问题讨论】:
标签: meteor