Backbone.js或Spine.js仅适用于“;脱机”;您可以在客户端主动更改记录的应用程序

Is Backbone.js or Spine.js only for "offline" apps where you actively change records client side?

本文关键字:js 客户端 应用程序 记录 Spine 适用于 Backbone 脱机      更新时间:2023-09-26

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

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

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

写自己的课是个更好的主意吗?

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

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

无论何时获取菜单项,都会将它们存储在本地存储中。

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

说您必须考虑一个策略来确定何时更新本地存储。