2

ビューが変更されたときにモデルを更新する正しい方法は何ですか。ビューで行う必要がありますか、それともコントローラーなどの他の場所で行う必要がありますか?

たとえば、このモデルに関連付けられたモデル(model1)といくつかのビュー(View1)があります。ビューの一部のフィールドを変更するときにモデルを更新する必要があります。それを行う正しい方法はどれですか?

また、別のビュー(View2)に関連付けられたそのモデルのコレクションがあり、そのコレクションにモデル(model1)を配置する必要があります。2番目の質問-View1またはModel1はコレクションについて知っている必要があります-知っている場合-それはどのように行われるべきですか?

4

2 に答える 2

1

MVCに適用されるMVC理論の興味深いアプローチがあります...バックボーンのコントローラーとは何かについての詳細はこちらをご覧ください

http://lostechies.com/derickbailey/2011/12/23/backbone-js-is-not-an-mvc-framework/

@derick-baileyによって書かれました

一般的に、ベイリーはバックボーンにはコントローラーがないと言います。したがって、個人的には、すべてのモデルの更新は、そのモデルに関連付けられたビューで行う必要があると思います。

バックボーンのすべてのモデルは、コレクション(または複数のコレクション)に追加されて更新されると、それが属するコレクション内のイベントをトリガーするため、ビューでそのイベントをリッスンする必要があります。

あなたの例では

  • View1.collection = [model1];
  • View2.collection = [model1、model2、model3];

また、View1がmodel1を変更すると、model1はView2.collectionへのイベントをトリガーします。これをリッスンできます。

于 2012-04-06T14:40:40.170 に答える
0

コントローラーはモデルと通信するため、そうです。ビューが変更されたときにモデルを更新する正しい方法は、コントローラーを使用することです。

于 2012-04-06T09:36:51.913 に答える