我想知道在更新集合时铁路由器是否有可能改变路线?
目前我的模板中有:
Template.presenter.rendered = ->
params = Router.current().params
presentation = Slideshows.find(params._id)
observer = presentation.observeChanges
changed: (id, fields) ->
Router.go('presenter',
_id: id
currentSlide: fields.currentSlide
)
但我现在遇到的问题是,由于我将观察者放置在模板的渲染回调中,我偶尔会遇到这样的错误:当路由改变时,它会发生两次而不是一次。那么有没有更好的方法让我对Slideshows
集合中的数据更改作出反应,以便我可以更改路线?
答案 0 :(得分:0)
我找到的解决方案是在执行mongo中要更新的字段的命令之前先移动观察者。我还使用@David Weldon建议在调用observer.stop()
之前将Router.go()
置于右边。现在一切都适合我。