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 回答