backbonejs路由器第一个查询参数

backbonejs router first query parameter

我正在尝试将查询参数添加为 backbonejs 路由中的第一个参数,但没有成功。

下面是我的路由器配置。

TabsRouter = Backbone.Router.extend({
    routes: {
        "tab/:tabname": "goToTab",
        "*default": "defaultTab"
    },

    goToTab: function(tabName) {
        view.renderTab(tabName);
    },

    defaultTab: function() {
        view.renderTab('markets');
    }
});
tabsRouter = new TabsRouter();

上面的代码工作正常,我可以访问像 baseurl/#tab/personal 这样的路由,但我想要一些 baseurl/#personal,我不想从制表符开始。我试过“:tabname”路由但它不起作用。

如有任何帮助,我们将不胜感激。

解决问题的最佳方法之一是为每个选项卡使用不同的路径。

按照您的代码,它将是:

TabsRouter = Backbone.Router.extend({
    routes: {
        "tab/first-tab": "firstTabView",
        "tab/second-tab": "secondTabView",
        "tab/third-tab": "thirdTabView",
        "*default": "defaultTab"
    },

    firstTabView: function() {
        view.renderFirstTab();
    },
    secondTabView: function() {
        view.renderSecondTab();
    },
    thirdTabView: function() {
        view.renderThirdTab();
    },
    defaultTab: function() {
        view.renderDefault();
    }
});
tabsRouter = new TabsRouter();

希望对您有所帮助。