“TransitionTo”会影响Ember中的页面刷新

时间:2015-04-01 05:57:19

标签: javascript ember.js

我的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')”在嵌套路由中获取父路由的模型。

1 个答案:

答案 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.