2012-04-15 6 views
0

との関係(ビューA)、それはその初期化子別でバックボーン:私は(複数のモデルを持っている)で探していますバックボーンアプリのビューのいずれかで、モデルとビュー

this.model.bind('change', this.setText, this); 

にこのラインを持っていますビュー(ビューB)では、初期化子にこの行があります。

this.model.bind('change', this.render, this); 

ただし、どちらのビューにも接続されているモデルはありません。つまり、'model'の宣言はありません。たとえば、'change'をトリガーするモデルは、ビューAのthis.setTextとビューBの(同時に)this.renderをトリガーしますか? fine manualから

答えて

4

コンストラクタ/初期化new View([options])

[...]、渡された場合、ビューに直接接続されるいくつかの特別なオプションがあります:modelは、collectionel,id,className,tagNameおよびattributesである。

ですから、これでビューをインスタンス化するとき:

var v = new SomeView({ model: m }); 

バックボーンは自動的vmthis.modelを設定し、initializeが呼び出される前に、これが行われます。それらのbind呼び出しを持つビューのコンストラクタ呼び出しを探します。ビューがインスタンス化されるときにmodelが提供されるはずです。

は、それは例えば、 'change'をトリガーするすべてのモデルは、ビューAならびにビューBで this.render(同時に) this.setTextをトリガすることを意味していますか?

いいえ、各ビュー(この場合)は、ビューのインスタンス化時に提供される独自のモデルを持ちますが、イベントはそのモデルのみから取得されます。

+0

ありがとう、私はドキュメントを読んでいるが、私はコードを渡っているとき、私は読んだことを忘れて.... – Leahcim

関連する問題