如何在更改路线时清除本地客户端的最小数据?

时间:2015-09-06 00:07:04

标签: meteor

我在两个单独的页面上实现无限滚动(通过设置发布的会话限制) - 让我们将其称为Page I和Page II。每个页面都有自己的订阅,它们都是从同一个集合发布但具有不同的数据子集。假设第I页按以下顺序接收这些文档:

A, B, C, D, E, F....

和第二页正在接收:

E, B, G, H, K...

某些项目将出现在两个页面上,在此示例中这些项目将为E, B, G。现在的问题是,一旦我访问了第二页并返回第一页,第一页上的项目顺序现在改为:

E, B, G, A, C, D...

如您所见,所有常用项目(E,B,G)现在将按照上面显示的顺序首先显示在列表中,即使发布中的数据已经从服务器排序。我已经尝试通过在.find({}, {sort: { createdAt: -1 } }, {limit: limit})的助手中从客户端再次对其进行排序来修复它,这似乎解决了问题,但由于某种原因它也打破了所有无限滚动。

我试图了解导致这种情况的原因,我怀疑它是因为常见文档是在客户端本地minimalongo中缓存的。我还尝试通过为其分配句柄来停止订阅,然后在其上使用.stop(),但这并没有清除数据。

我是Meteor的新手。有人可以告诉我一种方法,可以在改变路线时有效地清除所有本地客户数据吗?

0 个答案:

没有答案