1

レンダリング結果が同じコレクションに依存し、次に他のモデルまたはコレクションに依存するビューがいくつかあります。

例:

View1 -> model1, commonCollection
View2 -> collection2, commonCollection
View3 -> model3, commonCollection

現在、問題を解決するために、ビューごとに commonCollection.fetch を作成しています...そしてページをレンダリングする前に、この回答で説明されているように、各モデル/コレクションが各ビューに対して準備ができているのを待ちます。
しかし、commonCollection の結果は同じなので、他のビューで使用するために結果をキャッシュしたいと考えています。

グローバル変数を使用せずに commonCollection の結果をキャッシュするにはどうすればよいですか? 私はRequireJsを使用しています

4

1 に答える 1

2

fetchキャッシュを実行するために、共通のコレクションをオーバーライドすることはできませんか?

Backbone.Collection.extend({
   ...
   fetch: function(options) {
      if (alreadyUpdated) {
         // do nothing
      } else {
          return Backbone.Collection.prototype.fetch.apply(this, arguments);
      }
   }
   ...
});

より完全な例のフィドルは次のとおりです。http: //jsfiddle.net/4A8Wu/2/

于 2012-05-21T18:50:09.393 に答える