4

ユーザーが最後にいた状態にルーターをリダイレクトしたいと思います。

これを行う最善の方法は何ですか?どういうわけかルーターでredirectToを使用することは可能ですか?

例を次に示します。投稿には 2 つの主要なルートがあるshowとします。edit

App.Router = Ember.Router.extend({

   post: Ember.Route.extend({         
       route: '/:post',

       show: Ember.Route.extend({
           route: '/',
           connectOutlets: function(router, context) {
              router.get('applicationController').connectOutlet("showPost", post);
           }
        }),

       edit: Ember.Route.extend({
           route: '/edit',
           connectOutlets: function(router, context) {
              router.get('applicationController').connectOutlet("editPost", post);
           }
        })

     })
  })

今、私は次のようなことをしたいと思います:

    post: Ember.Route.extend({
       initialState: 'edit',
       route: '/:post',
       redirectTo: function(router) {
          router.transitionTo(router.currentState.name)
       }.property()
    })

追加の複雑さ: redirectTo は特定の投稿に固有です。つまり、 post/3 はデフォルトで に設定されますがedit、 post/4 はshowそれぞれの最後の状態に応じてデフォルトに設定される場合があります。

これを行うもう1つの方法は、独自のstateManagerを持つ親コントローラー/ビューを使用し、適切な子ビューに移動することだと思います。それが好ましい方法である場合、これにルーターを使用することの何が問題になっていますか?

ここでの明確さは大歓迎です!

4

1 に答える 1