【问题标题】:"TransitionTo" affects page refresh in Ember"TransitionTo" 影响 Ember 中的页面刷新
【发布时间】:2015-06-05 16:29:02
【问题描述】:

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

【问题讨论】:

    标签: javascript ember.js


    【解决方案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。

    【讨论】:

    • 我在此处获取父路由的模型时遇到问题。以前在我的“route1”中,我曾经使用“this.modelFor('parent')”获取父模型。但现在“this.modelFor('parent.index')”似乎不起作用。
    • 我也为 App.Parent 写了一条路由。并在其中获取模型。在 App.ParentIndex 路线中,我处理了重定向。使用“this.modelFor('parent')”在子路由中获取模型
    猜你喜欢
    • 1970-01-01
    • 2017-12-14
    • 1970-01-01
    • 2013-09-01
    • 2018-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多