2013-06-08 14 views
6

Próbuję użyć właściwości backbone.js model.set. Druga funkcja ostrzegania powinna się odpalić po wdrożeniu todo1.set. Jednak tak nie jest.
Oto jsfiddle Link: http://jsfiddle.net/SGEkn/backbone.js model.set nie działa

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

Dlaczego używasz Backbone 0.3.3? –

+0

mój błąd, to dlatego mam z nim wiele innych problemów. dzięki za wskazanie, że na zewnątrz – user1801879

Odpowiedz

13

Powinieneś przekazując obiekt i nie argumenty indywidualnie.

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

Dzięki, że działało – user1801879

+8

'todo2.set ('title', 'Title set')' jest w porządku, jeśli używasz nie-starożytnej wersji kręgosłupa. –

+0

ehh, używam naprawdę starej wersji, to dlaczego. teraz ma sens – user1801879