试图绕过Backbone,并且正在努力工作,直到我遇到下面的障碍,这让我觉得我错了。
在下面的代码中,我有一个模型和一个集合。该集合称为bb.model.Settings
,是一个名为changetheme
的函数,它获取一个值。现在我有了这个目标的价值,但是当我去保存这个项目时,我是否需要将它传递给模型。我试图在模型中调用save函数,但我想知道我是否真的需要这个,它仍然会失败。我应该保存集合还是保存此内容的最佳方法
bb.model.Setting = Backbone.Model.extend(_.extend({
defaults: {
theme: 'e'
},
initialize: function() {
var self = this
_.bindAll(self)
},
save: function() {
var self = this
_.bindAll(self)
},
}))
bb.model.Settings = Backbone.Collection.extend(_.extend({
model: bb.model.Setting,
localStorage: new Store("settingb"),
initialize: function() {
var self = this
_.bindAll(self)
},
changetheme: function(value) {
var self = this
_.bindAll(self)
this.remove
this.model.save()
},
}))
答案 0 :(得分:2)
尝试检查这个小提琴,你的代码中有几个错误:
这是js部分,请参阅完整工作示例的小提琴:
var bb = {};
bb.model={};
bb.model.Setting = Backbone.Model.extend({
defaults: {
theme: 'e'
},
initialize: function() {
var self = this
//_.bindAll(self) // no longer necessary with backbone.js
},
save: function() {
var self = this
//_.bindAll(self) // no longer necessary with backbone.js
},
});
bb.model.Settings = Backbone.Collection.extend({
model: bb.model.Setting,
//localStorage: new Store("settingb"),
initialize: function() {
var self = this
//_.bindAll(self) // no longer necessary with backbone.js
},
changetheme: function(value) {
var self = this
_.bindAll(self)
//this.remove
//_.bindAll(self) // no longer necessary with backbone.js
},
});
另外,如果你正在阅读关于网络骨干的旧方法,你不再需要bindAll了。这已经很久没有必要了。