Javascript 作为阵列的主干文件列表
我是新手 我试图从RESTAPI加载文件夹的文件列表,并将其作为数组保存到localstorage,然后稍后使用localstorage数据呈现视图 我正在使用主干脱机适配器 我设法将数据从REST加载到localStorage,但未能将加载的数据保存为数组 它为localStorage中的每个文件创建多个记录Javascript 作为阵列的主干文件列表,javascript,backbone.js,underscore.js,Javascript,Backbone.js,Underscore.js,我是新手 我试图从RESTAPI加载文件夹的文件列表,并将其作为数组保存到localstorage,然后稍后使用localstorage数据呈现视图 我正在使用主干脱机适配器 我设法将数据从REST加载到localStorage,但未能将加载的数据保存为数组 它为localStorage中的每个文件创建多个记录 file-0001 [{"id":"1", "folderid":"0001","name":"file number one","size":"1000"}, {"id":"2"
file-0001 [{"id":"1", "folderid":"0001","name":"file number one","size":"1000"}, {"id":"2", "folderid":"0001","name":"file number two","size":"1000"},{"id":"3", "folderid":"0001","name":"file number three","size":"1000"},{"id":"4", "folderid":"0001","name":"file number four","size":"1000"},{"id":"5", "folderid":"0001","name":"file number five","size":"1000"}]
这就是我得到的
file-1 {"id":"1", "folderid":"0001","name":"file number one","size":"1000"}
file-2 {"id":"2", "folderid":"0001","name":"file number two","size":"1000"}
file-3 {"id":"3", "folderid":"0001","name":"file number three","size":"1000"}
file-4 {"id":"4", "folderid":"0001","name":"file number four","size":"1000"}
file-5 {"id":"5", "folderid":"0001","name":"file number five","size":"1000"}
但这正是我需要的
在localStorage中,每个文件夹只需要一条记录
file-0001 [{"id":"1", "folderid":"0001","name":"file number one","size":"1000"}, {"id":"2", "folderid":"0001","name":"file number two","size":"1000"},{"id":"3", "folderid":"0001","name":"file number three","size":"1000"},{"id":"4", "folderid":"0001","name":"file number four","size":"1000"},{"id":"5", "folderid":"0001","name":"file number five","size":"1000"}]
更新:
directory.FILES = Backbone.Model.extend({});
directory.FOLDER = Backbone.Collection.extend({
initialize: function() {
return this.storage = new Offline.Storage("folder-files", this, {
autoPush: !0
})
},
url: "api/folder/files", //this will return json data [{"id":"1", "folderid":"0001"},{...},{...}]
model: directory.FILES
});
var FOLDER = new directory.FOLDER();
FOLDER.fetch();
您是否可以更新您的答案,以包括您的模型和用于将数据持久化到
本地存储中的调用?
?刚刚在主干线脱机Github页面上检查,发现作者建议当前不要使用它:也许您最好使用它,它正在积极开发中它与文件夹列表配合良好,我唯一搞不懂的是将json数据作为数组保存到一个LOCALSTORAGE密钥中。其中有一些奇怪的约定。。。您正在对模型和集合使用CONSTANT\u CASE
;对于这两种情况,使用CamelCase
都有一个很强的惯例。还有什么是!0
在那里做什么?我想这是为了真的
,我不确定,github page是这么说的。自动推送支持同步。