Backbone Marionette中间件仅在第一次路由加载时运行

时间:2016-05-27 14:27:45

标签: javascript backbone.js marionette

我正在尝试为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问题的顶级解决方案进行了研究,这些是我得到的结果。

编辑:我还尝试了文档中指定的'执行',并且得到了相同的结果。

0 个答案:

没有答案