Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 主干路由器初始化,但不触发事件_Javascript_Backbone.js_Routes - Fatal编程技术网

Javascript 主干路由器初始化,但不触发事件

Javascript 主干路由器初始化,但不触发事件,javascript,backbone.js,routes,Javascript,Backbone.js,Routes,我有一个复杂的,多层次的应用程序,我想用主干路由器导航,但它不能像我预期的那样工作 应用程序的地址不在根目录下 像这样: 我想使用BB的路由 下面是一些代码: $(function () { var SayfaController = Backbone.Router.extend({ routes: { "": "home", "sayfa/:sayfaNo": "sayfa" }, i

我有一个复杂的,多层次的应用程序,我想用主干路由器导航,但它不能像我预期的那样工作

应用程序的地址不在根目录下

像这样:

我想使用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>

或更改浏览器导航栏


我做错了什么你需要初始化函数吗?这可能会取代路由器的主干设置,这可能是其他功能/视图无法启动的原因

乍一看,您需要指定应用程序的根目录,因为它不是从域的根目录提供的。请参阅主干文档RE:Backbone.history:

如果您的应用程序不是从您的 域,一定要告诉历史根真正在哪里,作为 选项:主干.history.start({pushState:true,root: “/public/search/”})


尝试
Backbone.history.start({pushState:true,root://App/“})

我不知道如何让它在类似的URL上工作

http://www.domain.com/App/#/sayfa/6
但对于下面的那个种,它是有效的

http://www.domain.com/App#sayfa/6
http://www.domain.com/App
使用


下面是JSFIDLE

获取链接到app@kinakuta这是一个例子:)www.domain.com不是我的:)是
Editor
初始页面吗?如果索引页是
http://www.matbuu.bizim/
访问此url时,运行主页将运行。当
http://www.matbuu.bizim#sayfa/123
。除非您在使用
#
时进行了修改,否则很抱歉我编辑了link@ashley最初的页面是我想运行并获得6的参数我不认为这会崩溃主干,但我尝试了。。。不变
 Backbone.history.start({
            root : "/App"
        });