在本地存储中保存模型

     2023-03-05     61

关键词:

【中文标题】在本地存储中保存模型【英文标题】:Saving a model in local storage 【发布时间】:2011-11-24 13:29:33 【问题描述】:

我正在使用带有 Backbone 的 Jerome's localStorage 适配器,它非常适合收藏。

但是,现在我需要保存一个模型。所以在我的模型中我设置:

localStorage: new Store("msg")

然后我进行保存并获取。我的问题是,每次我刷新并初始化我的应用程序时,都会将我的模型的新表示添加到 localStorage,见下文。

我做错了什么?

window.localStorage.msg = 
  // Created after first run
  "1de5770c-1431-3b15-539b-695cedf3a415":
    "title":"First run",
    "id":"1de5770c-1431-3b15-539b-695cedf3a415"
  ,
  // Created after second run
  "26c1fdb7-5803-a61f-ca12-2701dba9a09e":
    "0":
      "title":"First run",
      "id":"1de5770c-1431-3b15-539b-695cedf3a415"
    ,
      "title":"Second run",
      "id":"26c1fdb7-5803-a61f-ca12-2701dba9a09e"
    
  

【问题讨论】:

【参考方案1】:

我遇到了同样的问题。也许你有类似的东西

var Settings = Backbone.Model.extend(
  localStorage: new Store("Settings"),
  defaults:  a: 1 
);

var s = new Settings;
s.fetch();

我改成

var s = new Settings( id: 1 );

localStorage 适配器检查 id like

 case "read":    resp = model.id ? store.find(model) : store.findAll(); break;

所以0"" for id 不起作用,它将返回所有模型

【讨论】:

正确!谢谢@lublushokolad ;) 链接到github中的问题/问题github.com/jeromegn/Backbone.localStorage/issues/56【参考方案2】:

我也是backbone.js 的新手,但看起来持久性模型类似于数据库表。也就是说,它旨在从表中创建/删除/读取记录。 localStorage 适配器做同样的事情,所以你在那里做的是创建一个 Msg“表” 在localStorage中,每次都创建一个新的Msg“记录”,适配器给每个新的Msg一个唯一的ID。

如果你只有一个对象,直接使用 localStorage 可能更容易。 API 非常简单:

localStorage.setItem("key","value");

请记住,localStorage 仅将键/值对作为字符串处理,因此您需要转换为字符串格式。

看看这个问题,了解更多关于这样做的信息:

Storing Objects in HTML5 localStorage

【讨论】:

在本地存储中保存一个函数

】在本地存储中保存一个函数【英文标题】:saveafunctioninlocalstorage【发布时间】:2012-06-1906:55:21【问题描述】:我正在处理一些对象,这些对象包含要从浏览器显示和操作的大量数据,并且我想将其保存在本地存储中。为了保存... 查看详情

如何在本地存储中保存图像位置

】如何在本地存储中保存图像位置【英文标题】:Howtosaveimagelocationinlocalstorage【发布时间】:2021-05-2905:08:23【问题描述】:我有一个问题,目前我正在尝试将图像位置保存在本地存储中,但我不知道该怎么做。我希望它在本地存... 查看详情

使用节点将令牌保存在本地存储中

】使用节点将令牌保存在本地存储中【英文标题】:SaveTokeninlocalStorageusingnode【发布时间】:2016-01-1915:59:11【问题描述】:我将JWT("jsonwebtoken":"^5.4.0")与express4和玉一起使用。我能够创建正确的令牌,但是如何在每... 查看详情

如何在本地存储中保存对象数组

】如何在本地存储中保存对象数组【英文标题】:Howtosavearrayofobjectsinlocalstorage【发布时间】:2021-09-2209:03:48【问题描述】:我有这个数组我想像这样设置本地存储中的所有键和值:【问题讨论】:【参考方案1】:为此,您可以... 查看详情

将日期保存到本地存储

】将日期保存到本地存储【英文标题】:Savedatestolocalstorage【发布时间】:2022-01-2318:32:54【问题描述】:我正在构建一个带有同步待办事项列表的日历。我正在尝试根据用户输入将特定日期保存到本地存储。目前,待办事项已保... 查看详情

将图像保存在本地存储phonegap中

】将图像保存在本地存储phonegap中【英文标题】:Saveimageinlocalstoragephonegap【发布时间】:2013-02-0209:43:58【问题描述】:我对phonegap很陌生,它说它具有捕获功能。所以我用了它,非常好。但是我在html中显示了图片,但我不知道如... 查看详情

如何从本地 JSON 文件解析数据并保存在模型类中并在 tableview 中使用

】如何从本地JSON文件解析数据并保存在模型类中并在tableview中使用【英文标题】:howtoparsedatafromlocalJSONfileandsaveinamodelclassanduseintableview【发布时间】:2018-11-1309:55:38【问题描述】:我想从本地JSON文件中解析JSON,并希望将该数据... 查看详情

在本地存储中保存一个 css 显示值

】在本地存储中保存一个css显示值【英文标题】:SaveacssdisplayvalueinLocalStorage【发布时间】:2021-06-2306:03:46【问题描述】:我有一个页面,其中一些视频显示为网络课程:所以在第一个视频完成后,第二个视频会出现,依此类推... 查看详情

如何在本地存储中保存和恢复 File 对象

】如何在本地存储中保存和恢复File对象【英文标题】:HowdoIsaveandrestoreaFileobjectinlocalstorage【发布时间】:2013-10-0718:45:12【问题描述】:我有一个使用的HTML5/javscript应用程序<inputtype="file"accept="image/*;capture=camera"onchange="gotPhoto(this... 查看详情

提取后新保存的 Backbone 模型未出现在集合中

...布时间】:2013-06-1009:26:40【问题描述】:我正在使用主干本地存储并遇到一些奇怪的行为。我有一个定义、实例化和获取的模型和集合:MyModel=Backbone.Model.extend(localStorage:newLocalStore 查看详情

下载文件并将其保存在浏览器的本地存储中

】下载文件并将其保存在浏览器的本地存储中【英文标题】:Downloadandsavefileinbrowser\'slocalstorage【发布时间】:2016-02-1900:13:10【问题描述】:我有一个提供文件的JavaWeb应用程序:@RequestMapping(value="/pdf/download",method=RequestMethod.GET)publ... 查看详情

如何将pdf存储在zip文件中,而不在本地保存

】如何将pdf存储在zip文件中,而不在本地保存【英文标题】:Howtostoreapdfwithinazipfile,withoutsavingitlocally【发布时间】:2016-11-1709:42:38【问题描述】:我在zip文件中有一个zip文件,在内部zip文件中我有一个Excel和一个PDF/Tif文档。我目... 查看详情

保存在变量/本地存储中的地理位置数据

】保存在变量/本地存储中的地理位置数据【英文标题】:Geolocationdatasavedinavariable/localstorage【发布时间】:2013-11-1923:36:31【问题描述】:我的GeolocationAPI有问题-.-\'我正在使用FirefoxOS样板应用程序(https://github.com/robnyman/Firefox-OS-Boil... 查看详情

将嵌套的 Backbone 模型存储并恢复到本地存储中

】将嵌套的Backbone模型存储并恢复到本地存储中【英文标题】:StoreandrecovernestedBackbonemodelsintolocalstorage【发布时间】:2012-08-3013:43:38【问题描述】:我正在寻找创建一个复杂的主干模型架构:主干模型A主干模型B1(A中)集合模型... 查看详情

如何将用户输入保存在cordova项目的本地存储中

】如何将用户输入保存在cordova项目的本地存储中【英文标题】:Howtosaveuserinputinlocalstorageforcordovaproject【发布时间】:2019-04-2418:41:59【问题描述】:<!DOCTYPEhtml><html><head><metaname="viewport"content="width=device-width,initial-sca 查看详情

如何在本地存储(或其他地方)中保存 ES6 地图?

】如何在本地存储(或其他地方)中保存ES6地图?【英文标题】:HowdoIpersistaES6Mapinlocalstorage(orelsewhere)?【发布时间】:2015-05-0904:56:31【问题描述】:vara=newMap([[\'a\',1]]);a.get(\'a\')//1varforStorageSomewhere=JSON.stringify(a);//Store,inmycase,inlocal... 查看详情

将数据保存到本地存储

】将数据保存到本地存储【英文标题】:Savedatatolocalstorage【发布时间】:2014-07-0718:35:04【问题描述】:我正在尝试在本地存储中设置一堆变量,但函数没有运行,我尝试获取值但没有运气,如何在本地存储中保存字段?functionset... 查看详情

使用PhoneGap截取图片,在app中显示并保存到本地存储

】使用PhoneGap截取图片,在app中显示并保存到本地存储【英文标题】:UsingPhoneGaptocaptureimage,displayitinappandsavetolocalstorage【发布时间】:2014-04-2308:06:11【问题描述】:我注意到很多关于这个问题的类似帖子,但在阅读完这些帖子后... 查看详情