如何重新加载当前 iron:router 路线?
How do I reload the current iron:router route?
如果我目前在 /foo
,Router.go '/foo'
什么都不做。我想重做 /foo
的动作挂钩和渲染。我知道我可以建立依赖关系,在动作挂钩中提及它,并在我需要重新加载时使它无效,我只是希望有一个 Router.*
api 我可以使用,因为那样会更干净.
铁路由器有办法:
Router.current().render(Template.yourMainTemplateName).data();
不过我不推荐它。有没有办法重写它而不需要重新加载?
另一种解决方案(可能更好,取决于用例)是在您的主模板渲染回调中使用 Auto运行 函数。如果您使用 Template.getData() 定义依赖项,则只要数据发生变化,它就应该 运行 里面的代码。
这添加了一个有效的函数Router.rerun()
:
login_dep = new Tracker.Dependency
Router.rerun = ->
login_dep.changed()
Router.configure
onBeforeAction: ->
login_dep.depend()
...
如果我目前在 /foo
,Router.go '/foo'
什么都不做。我想重做 /foo
的动作挂钩和渲染。我知道我可以建立依赖关系,在动作挂钩中提及它,并在我需要重新加载时使它无效,我只是希望有一个 Router.*
api 我可以使用,因为那样会更干净.
铁路由器有办法:
Router.current().render(Template.yourMainTemplateName).data();
不过我不推荐它。有没有办法重写它而不需要重新加载?
另一种解决方案(可能更好,取决于用例)是在您的主模板渲染回调中使用 Auto运行 函数。如果您使用 Template.getData() 定义依赖项,则只要数据发生变化,它就应该 运行 里面的代码。
这添加了一个有效的函数Router.rerun()
:
login_dep = new Tracker.Dependency
Router.rerun = ->
login_dep.changed()
Router.configure
onBeforeAction: ->
login_dep.depend()
...