0

アプリで拡張するために、独自の基本モデルとコレクションを作成しようとしています。これは、呼び出す代わりに次のことを意味します。

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

使いたい

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

コントローラーについても同様です。ほとんどの OOP モデルでは、Mootools などでこれを行う簡単な方法があります。

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

これは本当に私が真似したいパターンです。その理由は、毎回再実装する必要なく、すべてのモデルとコレクションで利用できるようにしたい特定の属性とメソッドがあるためです。

これを管理するいくつかのライブラリ ( backbone-relationalなど)があることに気付きましたが、コードが少し汚れているように見えます (パターンがあまりなじみがないためかもしれません)。

だから私の質問は: バックボーンのコア クラスを通常の OOP の方法で拡張するにはどうすればよいですか? (はい、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
});

したがって、Backbone を拡張することによって必要なすべての特定の属性とメソッドを持つ新しいベースModelを自分で作成し、それを Backbone のように使用します。

于 2012-08-23T12:44:09.280 に答える