2013-06-08 1 views
6

Sto provando a utilizzare la proprietà backbone.js model.set. La seconda funzione di avviso dovrebbe attivarsi dopo l'implementazione di todo1.set. Tuttavia non lo è.
ecco il link jsfiddle: http://jsfiddle.net/SGEkn/backbone.js model.set non funziona

var Todo = Backbone.Model.extend({ 
     defaults: { 
      title: "Harsh", 
      completed: false 
     }, 
     initialize: function() { 
      console.log('This model has been initialized.') 
     } 
    }); 

var todo2 = new Todo({ 
    title: 'Set through instantiation.', 
    completed: true 
}); 
console.log('Todo title: ' + todo2.get('title')); 
console.log('Todo completed ' + todo2.get('completed')); 

alert("ok"); 

todo2.set("title", 'Title set'); 

alert("ok"); 

console.log(todo2.get('title')); 
todo.set("completed", false); 

console.log('completed: ' + todo2.get('completed')); 
+2

Perché stai utilizzando Backbone 0.3.3? –

+0

mio errore, ecco perché sto avendo un sacco di altri problemi pure con esso. grazie per averlo indicato – user1801879

risposta

13

si dovrebbe essere il passaggio di un oggetto e non gli argomenti singolarmente.

todo2.set({"title":'Title set'}); 
+0

Grazie, ha funzionato – user1801879

+8

'todo2.set ('title', 'Title set')' sta bene se stai usando una versione non antica di Backbone. –

+0

ehh, sto usando una versione davvero vecchia, ecco perché. ora ha senso – user1801879