2013-08-29 2 views
1

Я хотел бы добавить JSON к моей существующей базовой модели. Каков наилучший подход для достижения этого?Магистральная модель расширяется

Я попробовал следующее:

nextClick: function(event) {  
     //this.getPostData returns some JSON that I want to add in existing model 
     this.model = new Backbone.Model.extend(this.getPostData()); 
} 

Это не работает, this.model дает мне следующий вывод в консоли:

console.log(this.model); 
//output: function(){ parent.apply(this, arguments); } 
+0

'extend' возвращает функцию конструктора, а не' attributes' хэш. Почему вы не используете 'Model.fetch' для обновления вашей модели данными с сервера? – sellmeadog

+0

Данные не поступают с сервера, я сшиваю JSON на клиенте. Как мне это сделать? – RuntimeException

ответ

3

Просто используйте Model.set и передать в УД атрибуты хэш. From the docs:

note.set({title: "March 20", content: "In his eyes she eclipses..."}); 

Это позволит установить/создать title и content в экземпляре ноты. Таким образом, вы должны быть в состоянии

note.set(this.getPostData()); 
+0

это работает, отлично. Благодаря! – RuntimeException

0

вы можете написать, что

Model = new Backbone.Model.extend(); 
this.model = new Model(this.getPostData()); 
Смежные вопросы