javascript - 设置 Backbone 路由器

标签 javascript jquery html backbone.js url-routing

无法弄清楚我的主干路由器出了什么问题。任何人都可以发现以下代码块中的错误吗?索引路由工作正常,但类路由从未触发(例如,当我导航到像 localhost/classes/test 这样的 URL 时)

var app = app || {};

$(function() {


    app.Router = Backbone.Router.extend({
        routes: {
            '' : 'index',
            'classes/:id' : 'classes'
        },

        initialize: function() {
            this.classList = new app.ClassCollection();
        },

        index: function() {
            this.menuView = new app.ClassCollectionView({collection: this.classList});
        },

        classes: function(id) {
            console.log("hello")
            var _class = new app.ClassModel({id: id});
            this.classView = new app.ClassPageView({model: _class});
        }
    });

    router = new app.Router();
    Backbone.history.start({pushState: true});
})

如果一切看起来都正常,那么我的代码中其他地方可能存在错误。

最佳答案

Backbone.router 正在扩展 hashbang 导航。 所以 本地主机/#classes/测试

应该会导致你的方法。还!注意,空路由应该位于路由列表的末尾。 就像 else if 构造一样,如果路由匹配“”(默认 # ?!),它将永远不会匹配其他路由

关于javascript - 设置 Backbone 路由器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18567331/

相关文章:

javascript - 确定弱/好/强密码的算法

javascript - 获取json目录下的所有文件

javascript - HTML 中的可滚动堆叠图像

javascript - while 循环中的模数如何执行?

javascript - 如何最好地利用 jQuery 以编程方式生成 HTML 元素

javascript - 导出的是从 module.exports 返回的对象

php - jQuery - 选择嵌套在 div ul li 中的特定按钮

javascript - jQuery 悬停从底部缩放

javascript - 使用 jquery 更新特定类 div 中的文本

javascript - 更改按钮的禁用属性