如何在Backbone.Model.extend中使用多个扩展?

时间:2014-07-14 20:05:08

标签: javascript node.js backbone.js

我正在开发一个以这种方式创建模型的项目。

Backbone.DeepModel.extend({
  ...
});

这个深度模型允许通过sytax(例如

)来引用深层嵌套的属性
containerGrid.get('cols')[0]['content']

现在我必须以一对多的格式实现嵌套模型。深度模型不支持这一点,但是一个名为backbone-relational.js的库可以。该库的语法是

Backbone.RelationalModel.extend({
  ...
});

这些库的功能不重叠,我不可能重写当前使用Backbone.Deepmodel语法实现的所有代码。是否有另一个我可以使用的库,它支持两种功能或您可能推荐的其他解决方法?

非常感谢您的阅读,我非常感谢您的时间和精力!

1 个答案:

答案 0 :(得分:5)

从这两个类扩展。

您可以向.extend提供任何对象,而不仅仅是对象文字。从Deepmodel扩展您自己的类,然后从RelationalModel扩展一个新类,提供Deepmodel - 扩展类的原型:

var MyModel = Backbone.Deepmodel.extend({ ... })

MyModel = Backbone.RelationalModel.extend(MyModel.prototype);