Backbone.js或Spine.js仅用于主动更改客户端记录的“离线”应用程序吗?

时间:2013-02-05 11:31:43

标签: javascript web-applications backbone.js spine.js

我正在制作一个网站,你的左边有一个非常薄的垂直条,上面有主菜单。这是您在网站上唯一的内容。然后,当您单击菜单项时,另一个栏会弹出主菜单栏的右侧。这是子菜单。然后,您可以单击子菜单,然后会出现最后一个菜单。当您单击此菜单上的某个项目时,您会在包含该页面内容的最后一个菜单的右侧找到一个大框。此框通常包含图片库或视频列表(例如,当您搜索YouTube时)。

但是,我希望这会非常敏感,所以我需要在localStorage中缓存菜单。所以我想使用一种MVC模式。尝试使用Spine.js,我将菜单加载到模型MenuModel中。现在,我不想加载一次可用的所有1000个菜单对象,所以我需要一种方法来预加载我需要的那些。

在我看来,Spine.js并不合适。我做错了什么,或者不是Spine.js用于加载菜单等,就像我在这里做的那样?我的意思是,客户端没有添加任何记录,也没有修改或删除。仅从服务器获取并存储在模型中。对于主动更改记录并与服务器同步的应用程序,Spine.js是否比我需要的更多?

仅仅编写自己的类是一个更好的主意吗?

1 个答案:

答案 0 :(得分:1)

不确定Spine.js,但您可以通过创建模型Menu来执行类似Backbone的操作。

每个菜单都引用父菜单(除了位于顶部的菜单)。

每当您获取菜单项时,都会将它们存储在本地存储中。

每当用户点击菜单项时,首先检查它是否存储在本地存储中。如果是,则从本地存储中显示它们,否则从服务器获取它们。

说你必须考虑一个策略来找出何时更新你的本地存储。