如果我的整个应用程序和数据是本地的,我怎么能使用Backbone.Model.save()?

时间:2012-04-30 15:27:39

标签: backbone.js

我正在制作一个完全本地的Backbone应用程序,不包括服务器端,我为应用程序提供了一些初始本地数据。数据实际上是Collection数据,它是一个json文件,存储在一个名为data的文件夹中。因此,我为Collection提供了一个url属性data/datalist.json并使用this.collection.fetch()来获取初始数据。一切顺利。

但我想在View中进行任何更新都会保存对此Collection json数据文件中相应Model数据的更改。似乎this.model.save({name: newName})对我不起作用。每次刷新整个页面时,应用程序仍会显示初始数据文件。那么当View中的项目被更新,删除或创建时,我应该如何更改数据文件?我需要在Model中设置url属性吗?

1 个答案:

答案 0 :(得分:2)

Model.save调用Backbone.sync方法,该方法默认将CRUD函数映射到REST API。如果要使用REST之外的其他内容进行保存/更新/删除,则需要覆盖Backbone.sync。

有一个本地存储插件可以覆盖Github上的同步,后者由Backbonejs认可:Backbone.localStorage

此插件应在应用运行时保留您的数据。如果要对文件系统进行更改,可能需要对其进行扩展(不确定,我自己没有使用过)。希望这能让你开始。