0

バックボーン ルーターの何が問題なのかわかりません。次のコード ブロックの間違いを見つけられる人はいますか? インデックス ルートは正常に動作していますが、クラス ルートがトリガーされません (たとえば、次のような URL に移動した場合localhost/classes/test) 。

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});
})

すべてが順調に見える場合は、コードのどこかにバグがある可能性があります。

4

2 に答える 2

3

Backbone.router は hashbang ナビゲーションを拡張しています。したがって、localhost/#classes/test

あなたの方法につながるはずです。また!空のルートはルート リストの最後にある必要があることに注意してください。他の場合と同様に、ルートが "" (デフォルト # ?!) と一致する場合、他のルートと一致することはありません

于 2013-09-02T15:53:56.307 に答える
0

デフォルトでは、ルートはハッシュ try localhost/#classes/test で機能します

于 2013-09-02T14:03:41.913 に答える