Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用model.set()时主干运算符出错_Javascript_Jquery_Backbone.js - Fatal编程技术网

Javascript 使用model.set()时主干运算符出错

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

我不知道我的set()helper方法出了什么问题,我运行它时在控制台中看到了错误

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"});