2015-02-05 183 views
7

如果我目前在/foo,Router.go '/foo'什么都不做。我想/foo的动作挂钩和渲染重做。我知道我可以创建一个依赖关系,在动作钩子中提及它,并在我需要重新加载时使其无效,我只是希望我可以使用一个Router.* API,因为那样会更干净。如何重新加载当前的铁路:路由器路由?

+0

降/ - > Router.go( '富') – Guidouil

+0

那不是为我工作无论是。至少不要再次调用onBeforeAction。 – Loren

+1

你为什么试图重新渲染当前路线? – jimmiebtlr

回答

3

这增加了一个功能Router.rerun()的作品:

login_dep = new Tracker.Dependency 

Router.rerun = -> 
    login_dep.changed() 

Router.configure 
    onBeforeAction: -> 
    login_dep.depend() 
    ... 
0

有铁路由器的方式:

Router.current().render(Template.yourMainTemplateName).data(); 

我不会推荐它虽然。没有办法重写它,所以它不需要重新加载?

另一个解决方案(也许更好,取决于用例)将是在主模板呈现回调中使用自动运行功能。如果你使用Template.getData()定义你的依赖关系,它应该在数据改变时运行代码。

+0

这不会重新运行,例如'onBeforeAction'钩子。并且不适用于布局模板。 – Loren

相关问题