requireJS AMD应用程序中的全局“缓存”变量

时间:2013-04-28 16:40:24

标签: javascript global-variables requirejs

我的应用程序有一个View()模型,通过简单调用视图路径来获取HTML,CSS等。由于许多这些视图和视图是共享的或需要多次,我想维护一个加载视图的“缓存”对象,View()的任何新实例都可以检查和读取该特定视图是否已加载。 / p>

在requireJS实现中,关于哪里最好放置此视图'缓存'对象的任何想法?理想情况下,我想要包含它的Session()对象,我可以从我的应用程序的任何地方引用Session()的单个实例。

对此最佳做法的想法?

非常感谢!

1 个答案:

答案 0 :(得分:0)

我建议你使用Singleton方法为这种情况创建一个简单的模块。例如,您可以创建一个这样的模块:

define(["mydep","myotherdep"], function(dep1,dep2){
  var Hellovariable = {
       "attr1": ...,
       "attr2": ...,
  ...
       "attrN": ...
  }
  return Hellovariable;
});

当您使用AMD调用此模块时,您将只拥有此变量及其属性的唯一实例。