backbone.js - Backbone 路由器没有pickup功能

标签 backbone.js backbone-routing

我尝试将主干与推送状态一起使用:

$(document).ready(function(){
    var App = Backbone.Router.extend({
        routes: {
            "/":            "homepage",
            "/questions":   "questions"
        },
        homepage: function() {
            console.log('why');
        },
        questions: function() {
            console.log('this is not working?');
        }
    });
    var the_app = new App();
    $("a").click(function(ev) {
        the_app.navigate( $(this).attr("href"), true);
        return false;
    });
    Backbone.history.start({pushState: true});
})

问题是每当我点击这样的链接时:

<a href="/"> home </a>
<a href="/questions"> questions</a>
<a href="/justlink"> just link</a>

浏览器中的位置在不重新加载的情况下发生变化,但与其关联的函数以及我已经在路由中定义的函数不会执行。 知道我做错了什么吗?

最佳答案

来自fine manual :

extend Backbone.Router.extend(properties, [classProperties])

[...] Note that you'll want to avoid using a leading slash in your route definitions:

您希望您的路线看起来像这样:

routes: {
    "":            "homepage",
    "questions":   "questions"
}

演示:http://jsfiddle.net/ambiguous/ybPcg/

关于backbone.js - Backbone 路由器没有pickup功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13334636/

相关文章:

javascript - 主干 listenTo 不会因属性更改而触发

javascript - backbone.js - 映射标准 url 参数 - 使用多个参数

backbone.js - 如何使用主干和 requirejs 定义/使用多个路由

javascript - Backbone.js 事件未触发

javascript - Backbone 实体

jquery - 取消绑定(bind)滚动事件 - 推荐吗?

backbone.js - Backbone Marionette JS 路由器的工作原理

javascript - Backbone SPA : Best practice for loading new routes?

javascript - 如何渲染路线 View ?

javascript - Backbonejs模型.save()的PUT和POST请求