私はxml APIデータフィードでバックボーンjsを使用しています。私はxmlを受け取り、それをjsonに変換する各ページのトップレベルモデルを持っています。次に、コントローラを使用してjsonモデルの特定の部分を特定のビューに戻すメソッドがモデルに追加されました。これはすべて期待通りに機能しています。定期的にバックボーンJSモデルを更新する
定期的に(setTimeoutを介して)最上位モデルを更新し、変更イベントを発生させてビューを更新したいと思います。私の質問は、実際にユーザーのトリガーイベントではないため、この定期的なイベントの発生を処理/初期化してモデルを更新する場所です。
私はモデルにstartUpdate、endUpdate、onTimerUpdateを追加しました。マイページコントローラのインデックスアクションでstartUpdateを呼び出し、モデルをさまざまなビューに渡します。これにより、モデルがすべてのビューに確実にバインドされます。私が今問題としているのは、コントローラを使ってモデルの特定の部分を別のビューに渡して、ビューを再利用するための一般的な属性としてmodel.getDerivedSubModel()などです。 – user843058
しかし、これを実行しようとすると、モデルは更新されますが、ビューが再レンダリングされると、メソッドによって返される派生データは変更されません(ビューが再レンダリングされたときにモデルをコントローラに渡さないなど)。コントローラを介して、モデルの特定の部分をビューにバインドする方法は、バックボーンにはありますか?私は1つのモデルでこのデータをすべて理想的なケースではないと思っていますが、1つのURLから始まり1つのXMLブロブで返されるため、どのように分割するのか分かりません。 – user843058
モデルは物事のコレクションですか?それとも、ほんの1つの大きな塊ですか?それがコレクションの場合は、動的フィルタを作成し、ビューのコレクションの一部のみを表示することができます。しかし、モデルに現在の状態が反映されるはずだから、あなたのモデルを計測して(つまり、たくさんの 'console.log()s')モデルを更新して、どのような変更が更新されたかを確認するように聞こえます。それが変更された場合は、ビューも変更する必要があります。 –