gpt4 book ai didi

javascript - Backbone.js - 使用 beforeRoute 过滤器扩展路由器

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:51:01 25 4
gpt4 key购买 nike

我正尝试在 Backbone.js 中为我的路由实现前置过滤器。我找到了以下代码 here -

var MyRouter = Backbone.Router.extend({
route: function(route, name, callback) {
return Backbone.Router.prototype.route.call(this, route, name, function() {
this.trigger.apply(this, ['beforeroute:' + name].concat(_.toArray(arguments)));
callback.apply(this, arguments);
});
}
});

但是,我不确定下一步需要做什么。我需要用我想要的“路由前”逻辑定义一个函数,但我不明白它将如何被调用。

最佳答案

重写的route 函数触发一个名为beforeroute:routename 的事件,然后调用原始的route 函数。所以如果你有这样的路线:

var MyRouter = Backbone.Router.extend({
routes: {
"": "home"
},
// ...
});

然后您将使用以下方法订阅 beforeroute 事件:

var router = new MyRouter()

router.on("beforeroute:home", function() {

// before route logic here...
alert("Home route is about to get hit ...");
});

Fiddle demo.

关于javascript - Backbone.js - 使用 beforeRoute 过滤器扩展路由器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13770526/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com