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

afterModelフックを使用してPlaybookRoute、モデルが空であるかどうかを確認し、前のルートにリダイレクトできます。

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

注:transitionTo新しいルートに動的セグメントがある場合は、解決されたモデルが必要です。

于 2013-07-17T03:38:18.567 に答える