我想将路由器重定向到用户所处的最后一个状态。
最好的方法是什么?是否可以在路由器中以某种方式使用 redirectTo ?
这是一个例子。假设一个帖子有两条主要路线,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
取决于它们最后各自的状态。
我猜另一种方法是使用具有自己的 stateManager 的父控制器/视图,并导航到适当的子视图。如果这是首选方法,那么为此使用路由器有什么问题?
非常感谢这里的任何清晰度!