Javascript 在requirejs、backbonejs中使用应用程序级持久化模型

Javascript 在requirejs、backbonejs中使用应用程序级持久化模型,javascript,backbone.js,requirejs,Javascript,Backbone.js,Requirejs,这是我的情况。我正在收集第一个视图中的成员列表(model=member,collection=members)。然后我希望它们显示在我的第三个视图中。问题是每次我想访问memberList时,我都必须创建一个新实例,因此数据会丢失。我使用require.js模块化视图。如何有效地访问我在第一个视图中实例化的memberList变量 一个快速而肮脏的方法是返回AMD模块中的新集合()。Require.js将缓存该实例,每次您需要它时,它都会返回相同的实例 例如: 虽然原因很难测试,但我不推荐这种

这是我的情况。我正在收集第一个视图中的成员列表(model=member,collection=members)。然后我希望它们显示在我的第三个视图中。问题是每次我想访问memberList时,我都必须创建一个新实例,因此数据会丢失。我使用require.js模块化视图。如何有效地访问我在第一个视图中实例化的memberList变量

一个快速而肮脏的方法是返回AMD模块中的新集合()。Require.js将缓存该实例,每次您需要它时,它都会返回相同的实例 例如:

虽然原因很难测试,但我不推荐这种方法

另一种方法是拥有一个对象应用程序,您可以保存对集合、模型等的引用,然后在您的模块中需要它,如

另一种方法是使用中介器为您实例化集合,并将集合中的方法公开给其他模块。您需要的是中介,而不是集合。

由您决定,但耦合越少越好


希望这能有所帮助。

您能解释一下您的意思吗?很难测试?如果您在initialize()中有逻辑,那么很难测试这个问题,因为在您需要该文件时,initialize已经被调用了。只是一些需要注意的事情。
define(function(require){
    var Backbone = require('backbone');
    return new Backbone.Collection.extend({});
});