Javascript 使用model.set()时主干运算符出错
我不知道我的set()helper方法出了什么问题,我运行它时在控制台中看到了错误Javascript 使用model.set()时主干运算符出错,javascript,jquery,backbone.js,Javascript,Jquery,Backbone.js,我不知道我的set()helper方法出了什么问题,我运行它时在控制台中看到了错误 var Person = Backbone.Model.extend({ defaults: { name: '', age: 30, occupation: 'fireman' }, validate: function(attrs) { console.log(attrs); }, work: function() { return this.get
var Person = Backbone.Model.extend({
defaults: {
name: '',
age: 30,
occupation: 'fireman'
},
validate: function(attrs) {
console.log(attrs);
},
work: function() {
return this.get('name') + ' is working';
}
})
var p = new Person({name:'John'});
//p.set('occupation','software developer'); why this has error?
console.log(p.toJSON())
您知道,您在示例中链接了Backbone.js 0.3.3吗?(今天是1.3.3版) 当时,无法使用.set(key,value)模式,只能通过将对象作为第一个参数来设置值
model.set(obj, options)
使用obj
具有更新属性的对象或主干模型对象
此处使用:
p.set({"occupation":"software developer"});
p.set
要求一个对象,而不仅仅是两个字符串。有什么线索吗?@Sandy您导入了两个版本的下划线,后者在主干之后。-我修复了错误的外部libs嵌入——1.3.3中没有错误:是的。在0.3.3中:否-应该使用p.set({age,20})代码>取而代之。*小补丁:p.set({age:20})代码>请添加一些解释,说明此代码为何有助于OP。这将有助于提供未来观众可以从中学习的答案。有关更多信息,请参阅。
p.set({"occupation":"software developer"});