我来自或以前的路线

时间:2013-02-12 11:38:30

标签: javascript ember.js ember-router

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

我设置this fiddle例如并测试..

1 个答案:

答案 0 :(得分: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)。 如果你有嵌套路由,你应该优化它,因为这也将添加中间路由。但是对于你的例子,它运作良好。