我的ember应用程序包含一个带有两个嵌套路由的父路由。在获取父路由的模型后,我将默认转换为其中一个嵌套路由。
路由器如下
this.resource('parent', {path: '/parent'}, function() {
this.route('route1', {path: '/route1'});
this.route('route2', {path: '/route2'});
});
在父路线
中redirect: function()
{
this.transitionTo('parent.route1');
}
现在这完全没问题。但是当我在路线“#/ parent / route2”上刷新页面时会出现问题。
实际上我应该得到“route2”的内容,但是transitionTo会使路由呈现“route1”。我怎么处理这个?
除此之外。我使用“this.modelFor('parent')”在嵌套路由中获取父路由的模型。
答案 0 :(得分:1)
不要在App.Parent
中进行重定向,而是将其放在App.ParentIndex
。
App.ParentIndexRoute = Ember.Route.extend({
redirect: function() {
return this.transitionTo('parent.route1');
}
});
演示http://emberjs.jsbin.com/pavomo/2/#/sales/orders/
请注意,如果找不到子路由,您将被默认重定向到orders / 4.