Javascript backbone.js集合和多种类型的模型?

Javascript backbone.js集合和多种类型的模型?,javascript,backbone.js,Javascript,Backbone.js,我很好奇是否有办法将集合模型设置为父模型。我可能离这里很远,因为我刚刚开始使用backbone.js,但这里是我想要做的结构 Collection model:object 对象模型是其他两个子对象的父模型 Object ->Image ->text 这两个子模型扩展了对象模型 这可以吗?我希望我在这里讲清楚了。感谢任何能提供帮助的人。是的,这是可行的 我自己并没有在集合中使用过不同的子类,但这是一篇关于主干继承以及“超级集合中的子类”的非常好的文章

我很好奇是否有办法将集合模型设置为父模型。我可能离这里很远,因为我刚刚开始使用backbone.js,但这里是我想要做的结构

Collection  
  model:object
对象模型是其他两个子对象的父模型

Object  
  ->Image  
  ->text  
这两个子模型扩展了对象模型

这可以吗?我希望我在这里讲清楚了。感谢任何能提供帮助的人。

是的,这是可行的

我自己并没有在集合中使用过不同的子类,但这是一篇关于主干继承以及“超级集合中的子类”的非常好的文章

在设置继承本身之后,作者使用collections函数创建相应的模型

Backbone.Collection.extend({
    model: Location,
    parse: function (res) {
        _.each(res, function (location) {
            switch(location.phase) {
               case 'solid':
                  this.add(new Country(location));
               case 'liquid':
                  this.add(new Ocean(location));
               //...
            }
        }, 
        this);
     }
});
关于继承部分,您可能还想看看这个和JohnnyO的答案,这可能有助于您的代码设计和避免类似的调用

this.constructor.__super__.initialize.apply(this, arguments);
是的,这是可行的

我自己并没有在集合中使用过不同的子类,但这是一篇关于主干继承以及“超级集合中的子类”的非常好的文章

在设置继承本身之后,作者使用collections函数创建相应的模型

Backbone.Collection.extend({
    model: Location,
    parse: function (res) {
        _.each(res, function (location) {
            switch(location.phase) {
               case 'solid':
                  this.add(new Country(location));
               case 'liquid':
                  this.add(new Ocean(location));
               //...
            }
        }, 
        this);
     }
});
关于继承部分,您可能还想看看这个和JohnnyO的答案,这可能有助于您的代码设计和避免类似的调用

this.constructor.__super__.initialize.apply(this, arguments);

你试过了吗?第一眼我看不出有什么问题,除了可能有很多条件句会出现在行为和呈现之间。可能与。你试过了吗?第一眼我看不出有任何问题,除了可能会有很多条件句将行为和呈现分开。可能与相关。不需要“var self”部分。将“this”作为最后一个参数传递给u。每个参数都将分配一个上下文。i、 e.每一项(目的、职能、本);不需要“var self”部分。将“this”作为最后一个参数传递给u。每个参数都将分配一个上下文。i、 e.每一项(目的、职能、本);