0

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

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

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

编写自己的课程是否更好?

4

1 回答 1

1

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

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

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

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

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

于 2013-02-05T12:30:53.257 回答