重定向空动态细分

时间:2013-07-17 01:17:39

标签: ember.js

我有以下路线布局:

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为空,我该如何重定向用户?

1 个答案:

答案 0 :(得分:1)

您可以使用afterModel中的PlaybookRoute挂钩来检查模型是否为空并重定向到上一个路线。

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

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