2015-02-05 46 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