0
class TheModel extends Backbone.Model
foo:
#bar
Entity = new TheModel(#pass in attributes)
初期化モデルを拡張できますか?
私は、エンティティを拡張したモデル属性/状態を維持することはできますか?
class User extends Entity
foo:
super
#more
EDIT:クラスは、オブジェクト(よりむしろ機能)を拡張有する
class Entity extends Backbone.Model
initialize: (options) ->
@_events options
_events: (options) ->
entity.bind 'foo'
class Entity1 extends Entity
_events: (options) ->
super options
entity.bind 'bar'
class Entity2 extends Entity
_events: (options) ->
super options
entity.bind 'baz'
#a new entity arrives, we don't know if he is type one or two yet so he is...
entity = new Entity
#now we find out he is type 2
entity = new Entity2(entity.attributes)
私の編集は意味がありますか? – fancy
はい。あなたのコードは動作しますが、 'entity'にバインドされたイベントリスナーを失うことを除けば、新しい' entity'は古い 'entity'が属するコレクションのどれにも属しません。 (私の答えのように) 'foo'関数を動的に結びつける方が良いでしょう。あるいは、if @type is 1 ...のような何かをするone-size-fits-all' foo'関数のためにポリモーフィズムを取り除く方が良いでしょう。 –
私の最新の編集は理にかなっていますか? – fancy