0

バックボーンjsを学び始めたばかりです。ルーターがわかりません。簡単なコードを書きました。すべきことは、コンソールに「私は働いています」と出力することです。しかし、それは機能していません。

$(document).ready(function(){
var AppView = Backbone.View.extend({
    el: 'body',
    initialize: function(){
        console.log('this is working');
    }
});
var AppRouter = Backbone.Router.extend({
    routes: {
        '': function(){
            var a = new AppView();
        }
    }
});
    var ar = new AppRouter();
Backbone.history.start();
});
4

1 に答える 1

2

ほとんどの場合、Backbone のバージョンに問題があります。1.0.0 変更ログ エントリには次のように記載されています。

  • Router のルート マップのルートは、必要に応じて、メソッドへの参照ではなく、関数リテラルにすることができます。

また、この新しい動作を可能にしたリビジョン履歴のわずか1 行の変更を見つけることもできます。

Backbone の古いバージョンでは、ルート メソッド名がroutes必要で、関数をどうするかがわかりませんでした。最新の Backbone (および Underscore と jQuery) にアップグレードすると、コードが機能します。

デモ: http://jsfiddle.net/ambiguous/sfeCr/1/

于 2013-06-23T19:04:57.277 に答える