重写Backbone.Collection.prototype.add

lui*_*sgo 5 javascript backbone.js

是否有可能在骨干中全局覆盖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);
}
Run Code Online (Sandbox Code Playgroud)

我使用的api总是包含一个级别的实际模型.在items我和我发现自己重写.add所有集合的方法.我试过上面的东西,但它似乎没有用.有任何想法吗?

谢谢,

路易斯

ims*_*sky 8

请尝试以下方法:

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

然后你可以扩展所有的集合Example.