5

次のように、バックボーンでcollection.addメソッドをグローバルにオーバーライドすることは可能ですか?

Backbone.Collection.prototype._add = Backbone.Collection.prototype.add;
Backbone.Collection.prototype.add = function(models, options) {
    var = newModels = models.items;
    Backbone.Collection.prototype._add(newModels, options);
}

私が常に使用しているAPIには、コレクションの1レベル下の実際のモデルが含まれています。Underitemsと私は.add、すべてのコレクションのメソッドをオーバーライドしていることに気付きました。上記のものを試しましたが、うまくいかなかったようです。何か案は?

ありがとう、

ルイス

4

1 に答える 1

8

次のことを試してください。

var Example = Backbone.Collection.extend({
    add: function(models, options) {
        Backbone.Collection.prototype.add.call(this, models.items, options);
    }
})

次に、からすべてのコレクションを拡張できますExample

于 2012-07-18T18:28:53.960 に答える