我正在尝试为Marionette扩展版的Backbone路由器添加一些中间件。这是我的代码。
AppName.Router = Backbone.Marionette.AppRouter.extend({
appRoutes:{
// routes
},
route: function(route, name, callback) {
var router = this;
if (!callback) {
callback = this[name];
}
var middleware = function() {
console.log('in middleware');
callback.apply(router, arguments);
};
return Backbone.Router.prototype.route.call(this, route, name, middleware);
}
});
我认为应该发生的是每当我加载路线时,控制台都会打印'中间件'。
当我加载第一条路线并且只加载第一条路线时,控制台会打印“中间件”。
我使用this问题的顶级解决方案进行了研究,这些是我得到的结果。
编辑:我还尝试了文档中指定的'执行',并且得到了相同的结果。