0

コンテキストとして、私はcoffeescriptを使用します。Backbone.Modelを拡張するベースモデルを作成し、別のクラスを作成すると(つまり、App.Models.ProjectがApp.Models.Baseを拡張します)、すべてが期待どおりに機能します。私が書いたこの基本クラス:

initialize: ->
  super
  console.log 'hi'

そしてただ平易

initialize: ->
  console.log 'hi'

あまり時間をかけずに、私のコンソールでは、インスタンス化されたオブジェクトはどちらの場合も期待どおりに動作するようです。ここでは「常にスーパーと呼ぶ」必要があると聞きましたが、何が得られるのかわかりません。

4

1 に答える 1

1

Backbone.Model.initializeは何もしません。

注釈付きのソースコードから、Backbone.Modelで定義された空の関数を確認できます。

initialize: function(){}

オーバーライドするのはモデル次第です。通常、モデル変数はここで設定されます。モデルオブジェクトを作成するときはいつでも、initializeが内部的に呼び出されます。

ビューとコレクションを作成する場合にも同じ原則が当てはまります。

于 2012-11-02T10:08:18.733 に答える