Javascript Backbone.js-如何将集合保存到localStorage?
我已经在代码中包含了,但似乎找不到将我的集合(或者更具体地说是集合的属性)保存到localStorage的方法 这是我的收藏代码:Javascript Backbone.js-如何将集合保存到localStorage?,javascript,backbone.js,local-storage,Javascript,Backbone.js,Local Storage,我已经在代码中包含了,但似乎找不到将我的集合(或者更具体地说是集合的属性)保存到localStorage的方法 这是我的收藏代码: //Collection var Playlist = Backbone.Collection.extend({ model: Song, localStorage: new Backbone.LocalStorage('playlist'), initialize: function(models,options) { _.
//Collection
var Playlist = Backbone.Collection.extend({
model: Song,
localStorage: new Backbone.LocalStorage('playlist'),
initialize: function(models,options) {
_.extend(this,_.pick(options, 'currentTrack'));
},
url: 'metadata',
parse: function(response){
return response
},
save: function(){
Backbone.sync('create', this, {
succes: function() {
console.log('Saved');
},
error: function(){
console.log('There was an error');
}
});
},
currentTrack: 0,
currentTime: 0
});
在我添加save
方法之前,没有任何方法(正如我在主干文档中看到的那样)。我根据
那么,我应该如何做到这一点呢?主干收集只用于存储模型,而模型包含数据。所以我认为localStorage插件没有内置的方法来存储集合中的自定义属性 您的属性用于保持应用程序的状态,它应该是“控制器”的一部分,在主干网的情况下,控制器是“视图”。而view可以直接从localStorage设置/获取此信息 简单到:
saveState: function(){
localStorage.setItem('playlist.state',JSON.stringify({
currentTrack: this.currentTrack,
currentTime: this.currentTime
}));
},
retrieveState: function(){
return JSON.parse(localStorage.getItem('playlist.state'));
}
如果需要,可以在集合中执行相同的操作。没有理由通过主干同步来入侵主干网。localStorage插件可以做到这一点。主干网集合用于简单地存储模型,并且模型包含数据。所以我认为localStorage插件没有内置的方法来存储集合中的自定义属性 您的属性用于保持应用程序的状态,它应该是“控制器”的一部分,在主干网的情况下,控制器是“视图”。而view可以直接从localStorage设置/获取此信息 简单到:
saveState: function(){
localStorage.setItem('playlist.state',JSON.stringify({
currentTrack: this.currentTrack,
currentTime: this.currentTime
}));
},
retrieveState: function(){
return JSON.parse(localStorage.getItem('playlist.state'));
}
如果需要,可以在集合中执行相同的操作。没有理由通过主干同步侵入主干网。localStorage插件来实现此目的。您想保存哪个属性?最后两个:currentTrack和CurrentTime您想保存哪个属性?最后两个:currentTrack和CurrentTime我只需将数据放在一个模型中。@EmileBergeron您是说一个不同的模型吗为了保持状态,对吧?没错!既然OP使用的是localStorage,而且它已经可以同步模型属性,那么除了避免手动使用localStorage之外,为什么不使用模型的功能呢?我会简单地将这些数据放在一个模型中。@EmileBergeron你指的是一个不同的模型,只是为了保存状态,对吗?没错!既然OP使用的是localStorage,并且已经同步了模型属性,那么为什么不使用模型的特性来避免手动使用localStorage呢。