我有一个复杂的,多层次继承的应用程序,我想使用Backbone.Router进行导航,但它不能像我预期的那样工作。
应用程序的地址不在根目录下。
像这样的: http://www.domain.com/App
我想用BB的路由
以下是一些代码:
$(function () {
var SayfaController = Backbone.Router.extend({
routes: {
"": "home",
"sayfa/:sayfaNo": "sayfa"
},
initialize: function () {
console.log('THIS WORKS');
},
home: function () {
console.log('THIS DONT FIRE');
},
sayfa: function (sayfa) {
console.log("NEITHER THIS FIRES");
console.log(sayfa);
}
});
var sayfaController = new SayfaController();
Backbone.history.start({pushState: true});
....
});初始化方法可以工作,但是当我单击这样的链接时,事件不会触发:
<a href="http://www.domain.com/App/#/sayfa/6">Click</a>或更改浏览器导航栏。
我做错什么了
发布于 2013-03-21 15:34:07
乍一看,您似乎需要指定应用程序的根,因为它不是从您的域根提供的。参见主干文档RE: Backbone.history:
如果您的应用程序没有从域的根url /中得到服务,请务必告诉历史记录根的实际位置,作为选项: Backbone.history.start({pushState: true,root:"/public/search/"})
试试Backbone.history.start({pushState: true, root: "/App/"});
发布于 2013-03-22 20:30:30
我不知道如何使它对类似的url有效。
http://www.domain.com/App/#/sayfa/6但在这种情况下,它是有效的。
http://www.domain.com/App#sayfa/6
http://www.domain.com/App使用
Backbone.history.start({
root : "/App"
});这里是jsfiddle http://jsfiddle.net/nEmeL/4/
https://stackoverflow.com/questions/15551370
复制相似问题