1

我有以下路线布局:

App.Router.map ->
    @resource('playbook', { path: '/playbook/:graph_id' }, ->
        @route('information')
        @resource('goals', { path: '/goals/:vertex_id' }, ->
            @route('tasks')
            @route('messages')
        )
    )

所以一个典型的 URL 看起来像#/playbook/12345/goals/6789/messages. 但是,我希望用户能够直接访问#/playbook并被重定向到相关的 URL(我保存了最后一个访问的 URL)。:graph_id仅当为空时如何重定向用户?

4

1 回答 1

1

您可以使用afterModelhook inPlaybookRoute检查模型是否为空并重定向到上一个路由。

afterModel: function(model) {
  if (model is empty) {
    this.transitionTo(stored route)
  }
}

注意:transitionTo如果新路线上有动态路段,则需要解析模型。

于 2013-07-17T03:38:18.567 回答