2016-10-21 3 views
-3

Alles nur Sinn Ich weiß nicht, was ist falsch mit meinem set() Helper-Methode, sah ich Fehler in der Konsole, wenn ich es ausführen.Backbone-Operator in Fehler bei der Verwendung von 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' fragt für ein Objekt, nicht nur zwei Strings. – nicovank

Antwort

1

Sie wissen, dass Sie Backbone.js 0.3.3 in Ihrem Beispiel verknüpft? (Heute ist es Version 1.3.3)

Damals war es nicht möglich, das .set (key, value) -Muster zu verwenden, sondern nur Werte zu setzen, indem ein Objekt als erster Parameter gedrückt wurde.

model.set(obj, options) 

mit obj ein Objekt mit den aktualisierten Attributen oder einem Backbone Modellobjekt.

Hier verwenden:

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

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

+0

versuchte Version 1.3.3, aber Fehler http://jsfiddle.net/8L54y6by/ – Sandy

+0

keine Ahnung, warum ist es so? – Sandy

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

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

+1

Bitte fügen Sie eine Erklärung hinzu, warum dieser Code dem OP hilft. Dies wird helfen, eine Antwort zu liefern, von der zukünftige Zuschauer lernen können. Weitere Informationen finden Sie unter [Antwort]. –

Verwandte Themen