0

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

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

4

1 回答 1

2

Model.save 调用 Backbone.sync 方法,该方法默认将 CRUD 函数映射到 REST api。如果你想使用 REST 以外的东西来保存/更新/删除,那么你需要覆盖 Backbone.sync。

Github上有一个覆盖同步的本地存储插件,Backbonejs背书:Backbone.localStorage

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

于 2012-04-30T15:52:08.127 回答