【问题标题】:Get previous router/url in backbone application在主干应用程序中获取以前的路由器/url
【发布时间】:2013-09-15 02:51:14
【问题描述】:

我有一个主干应用程序,我需要知道访问当前路由的路由器。有可能吗?

例如:-

我从#/test1 到达#/current,在另一个例子中,我从#/test1 到达。

那么我可以通过某种方式来检测之前的路由器命中吗?

我用过:

Backbone.history.fragment

这只会给我当前访问的路线,而不是从哪条路线。

【问题讨论】:

    标签: javascript backbone.js backbone-routing


    【解决方案1】:

    您可以将历史记录存储在某个数组中,并对最后/上一个项目进行一些操作。

    var history = [];
    this.listenTo(this, 'route', function (name, args) {
      history.push({
        name : name,
        args : args,
        fragment : Backbone.history.fragment
      });
      console.log(history);
    });
    

    【讨论】:

    • 好的,我有一段时间回来了,但我正在考虑任何内置的方式来检测主干历史。我想我必须手动这样做
    • 我会让这个问题再开放 2-3 天,只是为了知道是否还有其他方法可以让其他人解决这个问题。谢谢@Vitaliy Petrychuk
    • @VitaliyPetrychuk 我有点喜欢这种方法,但我应该在哪里运行这个 sn-p?在视图中?在路由器中?你有什么建议?
    • @darksoulsong,我建议对这个 sn-p 使用 Controller。 Backbone 没有它,但您可以创建它,或者如果您使用 Marionette - 它已经为您创建。如果你不想创建一个新的 Backbone.Controller 你可以在路由器中运行这个 sn-p
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-07
    • 1970-01-01
    • 2014-09-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多