0

我一直在尝试创建自己的基础模型和集合以在我的应用程序中进行扩展。我的意思是,而不是调用:

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

我想用

var MyModel = App.Model.extend({
    ...
});

控制器也是如此。在大多数 OOP 模型中,有一种简单的方法可以做到这一点,例如在 Mootools 中:

var MyModel = new Class({
    Extend: App.Model,
    ...
});

这确实是我想模仿的模式。这样做的原因是我希望在我的所有模型和集合中都可以使用某些属性和方法,而不必每次都重新实现它。

我注意到有一些库(例如骨干关系)可以管理这个,但代码似乎有点脏(可能只是因为模式太不熟悉),我不太确定我是否理解它。

所以我的问题是:如何以正常的 OOP 方式扩展 Backbone 的核心类?(是的,我知道 Javascript 不使用类继承,而是使用原型继承 &c..

4

1 回答 1

0
App.Model = Backbone.Model.extend({
  //do whatever you want to be present in all of your models
});

然后在您App可用的任何地方

var MyModel = App.Model.extend({
  // Do whatever you want to do for this particular type of model
});

因此,您只需Model通过扩展 Backbone 来为自己创建一个具有您想要的所有特定属性和方法的新基础,然后像使用 Backbone 一样使用它。

于 2012-08-23T12:44:09.280 回答