Javascript Require.js/Backbone.js:多个视图使用同一个集合

Javascript Require.js/Backbone.js:多个视图使用同一个集合,javascript,backbone.js,requirejs,frontend,Javascript,Backbone.js,Requirejs,Frontend,一开始我不得不说我不是一个前端的人;但在我的闲暇时间,我和JS一起工作。目前我正在开发一个使用require.js和Backbone.js的单页应用程序。我真的很喜欢这两个图书馆 对于我的问题: 我有一个主干集合,它通过fetch函数从后端获取信息。此集合仅保存不会更改的数据。需要这些信息来描述在后端定义的游戏单元。我需要两个主干视图的集合,但无需再次获取数据。获取一次就足够了,但由于我使用的是require.js,所以我必须创建这个对象的一个新实例。解决这个问题的正确方法是什么?单例,全局对象

一开始我不得不说我不是一个前端的人;但在我的闲暇时间,我和JS一起工作。目前我正在开发一个使用require.js和Backbone.js的单页应用程序。我真的很喜欢这两个图书馆

对于我的问题:
我有一个主干集合,它通过fetch函数从后端获取信息。此集合仅保存不会更改的数据。需要这些信息来描述在后端定义的游戏单元。我需要两个主干视图的集合,但无需再次获取数据。获取一次就足够了,但由于我使用的是require.js,所以我必须创建这个对象的一个新实例。解决这个问题的正确方法是什么?单例,全局对象?我将有更多只保存在运行期间不会更改的数据的集合。

如果集合永远不会更改,即cleitn上的数据从服务器接收后不会更改,只需向各种视图提供相同的集合实例。

好的,但如何提供实例?我可以用一个单例来实现,也可以将其存储在全局的某个位置,例如,也可以使用窗口。这主要取决于您的偏好:两者都可以,但通常您会看到集合只是附加到顶级应用程序对象,因为实现比单例简单。啊,好的。我还没有使用顶级应用程序对象。这是正确的态度吗?通常是的:它防止你用很多变量污染名称空间。相反,您的应用程序只有一个变量,并将所有内容作为子属性放在其中。。。我还没有太多的变量。也许是因为我项目的早期状态。我想我可以在没有顶级应用程序对象的情况下处理它。我认为require.js可以帮助我在没有这个对象的情况下工作。