我有以下路线布局:
App.Router.map ->
@resource('playbook', { path: '/playbook/:graph_id' }, ->
@route('information')
@resource('goals', { path: '/goals/:vertex_id' }, ->
@route('tasks')
@route('messages')
)
)
因此,典型的网址看起来像#/playbook/12345/goals/6789/messages
。但是,我希望用户能够直接转到#/playbook
并重定向到相关的URL(我保存最后一个访问的URL)。如果:graph_id
为空,我该如何重定向用户?
答案 0 :(得分:1)
您可以使用afterModel
中的PlaybookRoute
挂钩来检查模型是否为空并重定向到上一个路线。
afterModel: function(model) {
if (model is empty) {
this.transitionTo(stored route)
}
}
注意:如果新路线上有动态段,transitionTo
需要已解决的模型。