0

initializeメソッドでルーターイベントにバインドすると、コールバックが呼び出されます。

var View = Backbone.View.extend({   
    initialize: function() { 
        router.on("route:test", this.update);
    },

    update: function() {
        console.log('This works');
    }
});

しかし、これは機能しません:

var View = Backbone.View.extend({
    events: {
        "route:test": "update"
    },  

    initialize: function() { },

    update: function() {
        console.log('This never gets called');
    }
});

2番目のケースで私が間違っていることはありますか、それとも私は何かを誤解していますか?

eventsビュー内はDOMレベルのイベントのみですか?

4

1 に答える 1

2

はい、eventsビューでは、そのビューの要素内のDOMイベントにのみ使用されます。

jQueryのデリゲート関数を使用して、ビュー内のDOMイベントの宣言型コールバックを提供します

ドキュメントはこちら

于 2012-11-02T12:57:56.197 に答える