持久化数据客户端以实现事件驱动方法

时间:2015-06-20 18:24:42

标签: javascript backbone.js

我有一个呈现活动的应用程序,如下所示:

enter image description here

地图应根据某些标准(date_start,date_end,map_bounds)渲染标记 使用ajax从REST API加载活动 前端方法是事件驱动的(使用Backbone / Marionette);更改日期,平移/缩放地图等时动态更新活动...

我想知道在前端持久保存请求参数的最佳过程是什么(参数是date_start,date_end,map bounds)。由于所有这些数据都需要随时可访问,因此我需要全局访问这些数据 处理这个问题的常用方法是什么?

我考虑过将localstorage用于回退cookie,并将数据存储在全局窗口中。

当在新的浏览器选项卡中打开应用程序时,会有一个引导程序来检索数据并将它们存储在全局的新窗口中。

是否有替代/更好的方法来处理这个问题?

1 个答案:

答案 0 :(得分:0)

如果您正在寻找应用程序中任何位置的数据访问权限,我会使用将这些参数保存为属性的Backbone模型;这个模型可能是一个全局变量:对于每个数据,拥有一个全局变量将比单个变量更好。但是,将该模型作为参数传递给需要它的视图/其他组件会更好。

  

当在新的浏览器选项卡中打开应用程序时,会有一个引导程序来检索数据并将它们存储在全局的新窗口中。

由于您每次应用程序最初加载时都会获取此数据,因此本地存储或Cookie不是正确的使用方法(尽管技术上可行)。 Localstorage和cookie用于在多个用户会话中保留数据。如果您想将数据存储在浏览器中(而不是每次都从服务器检索数据),您可以这样做,然后将其加载到Backbone模型中(如上所述)。但是,如果用户从第二个(第n个)设备访问您的应用,则无法访问数据。