Backbone - 标签出现在 URL 的最后
Backbone - Hashtag appearing at very end of URL
我正在做我的第一个 Backbone 项目。我正在使用 Backbone 1.3.3 和 Underscore 1.8.3。我的路由器有问题。当我调用路由器时,它将主题标签放在 URL:
的最后
http://server:9999/backbone_demo/addMember#
而不是:
http://server:9999/backbone_demo/#addMember
这就是我想要的。
var router = null;
var context = "backbone_demo";
DemoRouter = Backbone.Router.extend({
initialize: function () {
initializeEventsForNavigation();
},
routes: {"" : "start", "/bands": "bands", "/addMember": "addMember", "*defaultRoute" : "defaultRoute"},
defaultRoute: function() {
this.start();
},
start: function () {
this.bands();
},
bands: function () {
BackboneDemo.View.unrenderAllViews();
BackboneDemo.View.renderBandList();
},
addMember: function() {
BackboneDemo.View.unrenderAllViews();
BackboneDemo.View.renderAddMember();
}
});
var init = function() {
initializeEventsForBandListRender();
initializeEventsForAddMemberRender();
router = new DemoRouter();
Backbone.history.start({pushState: true, root: context});
};
var navigate = function(e) {
var route = e.detail.route;
router.navigate("/" + route, true);
};
如果我将 "addMember" 传递给我的导航函数(在 e.detail.route 中),我会将“/addMember”传递给 router.navigate。除了这个细节,路由器工作正常。
如果你想使用散列路由,我认为你应该将 pushState
设置为 false
。
Backbone.history.start({pushState: false, root: context});
我正在做我的第一个 Backbone 项目。我正在使用 Backbone 1.3.3 和 Underscore 1.8.3。我的路由器有问题。当我调用路由器时,它将主题标签放在 URL:
的最后http://server:9999/backbone_demo/addMember#
而不是:
http://server:9999/backbone_demo/#addMember
这就是我想要的。
var router = null;
var context = "backbone_demo";
DemoRouter = Backbone.Router.extend({
initialize: function () {
initializeEventsForNavigation();
},
routes: {"" : "start", "/bands": "bands", "/addMember": "addMember", "*defaultRoute" : "defaultRoute"},
defaultRoute: function() {
this.start();
},
start: function () {
this.bands();
},
bands: function () {
BackboneDemo.View.unrenderAllViews();
BackboneDemo.View.renderBandList();
},
addMember: function() {
BackboneDemo.View.unrenderAllViews();
BackboneDemo.View.renderAddMember();
}
});
var init = function() {
initializeEventsForBandListRender();
initializeEventsForAddMemberRender();
router = new DemoRouter();
Backbone.history.start({pushState: true, root: context});
};
var navigate = function(e) {
var route = e.detail.route;
router.navigate("/" + route, true);
};
如果我将 "addMember" 传递给我的导航函数(在 e.detail.route 中),我会将“/addMember”传递给 router.navigate。除了这个细节,路由器工作正常。
如果你想使用散列路由,我认为你应该将 pushState
设置为 false
。
Backbone.history.start({pushState: false, root: context});