backbonejs中的多个路由处理程序

时间:2013-09-01 13:35:06

标签: javascript backbone.js

在我的Backbone.js应用程序中,我有一个路由结构,它有一些常见的部分,我只想在一个处理程序中处理。例如,这些URL

/#scenario/1/show-report
/#scenario/2/foo
/#scenario/3/bar

都需要将场景设置为其特定标识符。目前,我在每个路由处理程序中执行此操作(在show-reportfoobar的处理程序中)。是否有任何方法可以将URL捕获到scenario/:id/,调用适当的函数并由特定处理程序处理其余部分?

1 个答案:

答案 0 :(得分:2)

var Router = Backbone.Router.extend({
    routes : {
        'scenario/:id/:type' : 'scenario'
    },
    scenario : function (id, type) {
        switch (type) {
            case 'show-report': console.log('show-report'); break;
            case 'foo':         console.log('foo'); break;
            case 'bar':         console.log('bar'); break;
        }
    }
});

new Router();
Backbone.history.start();