1

次のコードは機能しますが、書き込みを避けて読みやすさとアクセシビリティを向上させたいと考えていますcallbacks

コレクションに対してフェッチが実行されるときに、ビューをレンダリングする必要があります。

ここで作業コード:

var MyView = Backbone.View.extends({

    initialize: function()
    {
        var that = this;

        MyCollection.fetch({
            success: function () {
                that.render();
            }
        });
    },

    ....

});

ここでうまくいかない私の試み:

var MyView = Backbone.View.extends({
    initialize: function()
    {
        MyCollection.fetch();
        MyCollection.bind('change', this.render);
    },

    ....
});
4

1 に答える 1

2

context呼び出しの をに設定する必要があるようですbind。このような:

MyCollection.bind('change', this.render, this);

Coffeescript の優れた点の 1 つは、これらのことをよりクリーンに処理できることです。

ETA:changeイベントは にトリガーされませんfetch。コレクション内のモデルの 1 つが変更されたときにのみトリガーされます。resetです。また、フェッチをトリガーした後にイベントにバインドしていますが、それが意図したものかどうかはわかりません。

余談ですが、あなたがMyCollectionメンバーを大文字にしているのは混乱しているようで、 . と簡単に混同されclassます。

于 2012-05-12T23:09:33.417 に答える