私が遭遇したほとんどのバックボーンのチュートリアルと例は、モデルに対して次のようなことを提案しています。
this.model.on('change', this.render, this);
私の特定のケースでは、 であるモデルのビューを作成してform
おり、フィールドはモデル プロパティに関連付けられています。ユーザーが のフィールドを更新するform
と、モデルも更新される必要があります。モデルを更新するための適切なコードを起動するフィールドにイベントがバインドされているため、これは問題ではありませんでした。
ただし、私が直面している問題は、モデルが更新されたときにビューも更新する必要があることです (上記のユビキタスな変更イベント バインディングのように)。これにより、フィールドが更新されるたびにビューが再レンダリングされます。これは、基になるモデルが変更されているためです。そのため、 の値を変更するたびにform
、ビューが再描画されます。これは非効率的であり、多くの苛立たしいバグ (フォーカスが失われるなど) を引き起こします。
この問題は通常どのように処理されますか?