2017-04-11 92 views
0

我有一个流星应用程序,它显示日历(使用fullcalendar.io),并订阅给定日期范围内的预订。该应用程序使用FlowRouter并从URL获取日期,然后使用它来订阅预订(URL日期到URL日期+ 14天)。这一切都正常工作,我可以跳过日历中的日子,每天加载事件,不刷新,因为它们来自minimongo。我想要做的是在用户切换日期时在后台刷新此订阅。这可以使用流路由器例如:在流星订阅数据范围

FlowRouter.go('/diary/2017-04-11') 

或通过在会话/响应变量中设置订阅日期。

这会将事件从2017-04-11加载到2017-04-25。问题在于,当整个订阅被重新创建时,它在加载时会稍微延迟。我想要实现的是一个“移动窗口” - 例如,如果我订阅了2017-04-10的活动,并且将出版物更改为2017-04-11,那么只有多余的一天被加载,而比所有数据被删除和替换。这将确保我能够在没有任何加载时间的情况下跳过日历的日子。如果用户手动选择日期> 14天的日期,则他们将看到加载时间,这是完全可以接受的。

回答

1

听起来像您的订阅绑定到每个路由更改加载的模板。那么,当您切换路线时,模板将重新加载并与其一起订阅。

缓存管理器有几个选项,可让您在模板之间保持子活动状态。

例如https://github.com/kadirahq/subs-manager

请注意,虽然这将允许您的客户端保持子活动,如我所述,它可能会在“添加”功能。所以它本身不会解决您的移动窗口问题,但它会在您导航时从发布商处获取新项目。

第二个注意事项:使用此软件包,您不仅限于单个管理员。我发现,如果你保留一个经理/小组,它的效果最好。一旦我开始加载多个潜艇经理,它开始表现奇怪。

+0

谢谢,将切换到此订阅,看看如何工作.. – Macros

+0

道歉的延迟接受 - 这种方法工作完美。我已经为每个经理的一位经理提供了建议,并且确实满足了我的需求 – Macros