2017-05-02 14 views
2

コンテキスト: 2つのビュー、A及びBは、同じモデルに接続されている:2つのビュー方法unnessary更新からのビューを防止するために、一つのモデル、/再レンダリング

  • 両方のモデル状態を変化させることができる
  • がどのように再RENからビューAを防ぐために:
  • 両方が

質問を変更 モデル上でそのUIを更新する必要がありますモデルの変更がAによってトリガされたときに自分自身の状況を把握しながら、Bによってモデルが変更されたときにAを更新できるようにしますか?

暫定溶液:

PSをのevent.targetのようなイベントを送出ビューへの参照を渡す:我々はReact.js又は不変データを使用していません。したがって、常にビューステートに対してモデルを再レンダリングまたは比較すると、コストが高くエラーが発生しやすくなります。私たちは、アプリ状態全体を含む単一のモデルを持つことによって、還元型のパターンに従おうとしています。

答えて

0

バックボーンでこれが奨励されているかどうかはわかりません。ビューAで起こっているように見えますが、ビューAとビューBの両方のレンダリングが再現されますが、ビューAの再レンダリングは別の場所で処理されるため、ビューAで再レンダリングする必要はありません。モデル変更イベント。

これがあれば、私はあなたが

book.on({ 
    "change:author": authorPane.update, 
    "change:title change:subtitle": titleView.update, 
    "destroy": bookView.remove 
}); 

は、別の方法としては、{silent:true}で変更イベントを消すことができ(http://backbonejs.org/#Eventsから)このように、モデルの小さな部分での変更をリッスンするために見る必要があると思う場合オプションを使用してモデルを変更し、ビューBでレンダリングを直接呼び出してください。これは良い解決策ではないと思います。

関連する問題