3

当我访问一条路线然后去另一条路线时,有什么方法可以知道我来自哪条路线?
我试过document.referrer- 这不起作用。谷歌搜索也没有带来任何答案..

例如,我设置了这个小提琴并进行了测试..

4

1 回答 1

4

没有使用 API 的直接解决方案。这意味着,此信息不是公共 API 的一部分。但是,您可以自己缓存这些信息。

App.set('lastRoutes', []);

App.BaseRoute = Ember.Route.extend({
    setupController: function() {
        this._super.apply(this, arguments);
        App.get('lastRoutes').pushObject(this.get('routeName'));
    }
});

使用“setupController”,而不是“enter”,因为例如,当您从 /users/1 转换到 /users/2 时,不会执行 enter/exit 方法,而 setupController 每次都会执行(并且是公共 API)。如果您有嵌套路由,则应该对其进行优化,因为这也会添加中间路由。但是对于您的示例,它运行良好。

于 2013-02-12T11:55:23.150 回答