如何在Backbone中创建超类?

时间:2014-07-21 14:19:08

标签: javascript backbone.js

例如,在我的集合类中,我调用一个名为test的方法来人工填充我的集合。

我希望我的所有馆藏都能访问此方法。

我确定有多种方法可以做到这一点,但哪种方式是事实上的?

仅供参考,这是方法:

    test: function () {
        var models = [],
            Model = this.model;
        _.times(8, function (n) {
            models.push(new Model({id: (n + 1)}));
        });
        this.set(models);
    }

2 个答案:

答案 0 :(得分:0)

试试这个:

var Collection = Backbone.Collection.extend({...});
var FooCollection = Collection.extend({...});

答案 1 :(得分:0)

您需要定义一个扩展Backbone.Collection的类,然后在每次创建自己的集合时扩展该新类。我还将它包装在您自己的域中,以便您可以使用点语法轻松访问它,并且您可以添加更多自定义类,例如Backbone.Model扩展名。

var MyStuff = (function() {
  function MyStuff() {};

  MyStuff.MyFancyCollection = Backbone.Collection.extend({
    test: function....
  });

  return MyStuff;

})();

因此,当您想稍后使用此集合时,您将使用以下内容:

var MySpecificCollection = MyStuff.MyFancyCollection.extend({...});