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

Ale*_*rst 3 javascript node.js backbone.js

我正在从事以这种方式创建模型的项目。

Backbone.DeepModel.extend({
  ...
});
Run Code Online (Sandbox Code Playgroud)

此deepmodel允许通过语法(例如)引用深层嵌套的属性

containerGrid.get('cols')[0]['content']
Run Code Online (Sandbox Code Playgroud)

现在,我必须以一对多格式实现嵌套模型。深度模型不支持此功能,但是称为骨干关系.js的库支持。该库的语法是

Backbone.RelationalModel.extend({
  ...
});
Run Code Online (Sandbox Code Playgroud)

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

非常感谢您的阅读,非常感谢您的投入和时间!

mea*_*gar 5

只是从两个类扩展。

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

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

MyModel = Backbone.RelationalModel.extend(MyModel.prototype);
Run Code Online (Sandbox Code Playgroud)