Meteor中用到组合条件查询,将条件放在session中,条件发生改变的时候重新订阅路由,首次返回数据的时候页面会出现一次刷新,选中条件(状态)丢失。
处理办法:
取消路由中使用session订阅查询的方式
waitOn: ->
if Meteor.userId()
docId = Session.get("docId")
event = Session.get("event")
limit = Session.get("docLimit")
homeSubs.subscribe "history",docId,event,limit
将上面的代码修改为
homeSubs.subscribe "history"
在页面onreder的时机采用autorun机制,在session改变的时候实现重新订阅,即可避免页面重新刷新load的问题:
Template.searchTools.onRendered ->
instance = Template.instance()
instance.autorun ->
docId = Session.get("docId")
event = Session.get("event")
limit = Session.get("docLimit")
instance.subscribe "history",docId,event,limit