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();
希望对您有所帮助。
我正在尝试将查询参数添加为 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();
希望对您有所帮助。