首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >主干路由器初始化但不触发事件

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

Stack Overflow用户
提问于 2013-03-21 15:16:08
回答 2查看 588关注 0票数 0

我有一个复杂的,多层次继承的应用程序,我想使用Backbone.Router进行导航,但它不能像我预期的那样工作。

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

像这样的 http://www.domain.com/App

我想用BB的路由

以下是一些代码:

代码语言:javascript
运行
复制
$(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});

    ....
});

初始化方法可以工作,但是当我单击这样的链接时,事件不会触发:

代码语言:javascript
运行
复制
<a href="http://www.domain.com/App/#/sayfa/6">Click</a>

或更改浏览器导航栏。

我做错什么了

EN

回答 2

Stack Overflow用户

发布于 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/"});

票数 0
EN

Stack Overflow用户

发布于 2013-03-22 20:30:30

我不知道如何使它对类似的url有效。

代码语言:javascript
运行
复制
http://www.domain.com/App/#/sayfa/6

但在这种情况下,它是有效的。

代码语言:javascript
运行
复制
http://www.domain.com/App#sayfa/6
http://www.domain.com/App

使用

代码语言:javascript
运行
复制
 Backbone.history.start({
            root : "/App"
        });

这里是jsfiddle http://jsfiddle.net/nEmeL/4/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15551370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档