如果我目前在/foo
,Router.go '/foo'
什么都不做。我希望/foo
的动作挂钩和渲染重做。我知道我可以创建一个依赖项,在一个动作钩子中提及它,并在我需要重新加载时使它无效,我只是希望有一个Router.*
api我可以使用,因为那会更干净。
答案 0 :(得分:3)
这会添加一个有效的函数Router.rerun()
:
login_dep = new Tracker.Dependency
Router.rerun = ->
login_dep.changed()
Router.configure
onBeforeAction: ->
login_dep.depend()
...
答案 1 :(得分:0)
铁路由器有一种方法:
Router.current().render(Template.yourMainTemplateName).data();
我不会推荐它。有没有办法重写它,所以它不需要重新加载?
另一个解决方案(可能更好,取决于用例)是在主模板渲染回调中使用自动运行功能。如果使用Template.getData()定义依赖项,则应在数据更改时运行代码。