2016-10-21 3 views
-3

Все просто имеет смысл. Я не знаю, что не так с моим методом set(), я видел ошибку в консоли, когда я запускаю ее.Оператор магистрали по ошибке при использовании model.set()

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()) 

http://jsfiddle.net/8hsnbxe3/

+0

'p.set' запрашивает объект, а не только две строки. – nicovank

ответ

1

Вы знаете, что вы связаны Backbone.js 0.3.3 в вашем примере? (Сегодня это версия 1.3.3)

В то время было невозможно использовать шаблон .set (ключ, значение), но только для установки значений путем нажатия объекта в качестве первого параметра.

model.set(obj, options) 

с obj объекта с обновленными атрибутами или объекта Backbone модели.

Здесь используют:

p.set({"occupation":"software developer"}); 
+0

http://i.imgur.com/qytzpDF.png – Sandy

+0

попробовал версию 1.3.3, но получил ошибку http://jsfiddle.net/8L54y6by/ – Sandy

+0

любой подсказку, почему это так? – Sandy

0
p.set({"occupation":"software developer"}); 
+0

http://i.imgur.com/qytzpDF.png – Sandy

+1

Пожалуйста, добавьте некоторое объяснение, почему этот код помогает OP. Это поможет обеспечить ответ, о котором могут узнать будущие зрители. См. [Ответ] для получения дополнительной информации. –