#backbone.js
#backbone.js
Вопрос:
Итак, я пытаюсь связать свое представление с моей моделью, и я отлично следую инструкциям, однако, когда дело доходит до части модели, я просто в тупике.
Всякий раз, когда я пытаюсь определить модель с помощью создания экземпляра, модель классифицируется как функция, когда я console.log()
ее использую.
Но позвольте мне показать вам.
var ListModel = Backbone.Model.extend({
defaults: {
name: "Miles",
last: "Coleman"
}
});
var ListView = Backbone.View.extend({
initialize: function(opts){
this.template = opts.template;
this.render();
},
render: function() {
var data = this.model.toJSON();
console.log(this.model);
// outputs: function (){a.apply(this,arguments)}
}
});
var view = new ListView({
model: ListModel,
el: 'div',
template: _.template('#todo-template')
});
Есть ли какая-то глупая деталь, которую я здесь упускаю? Спасибо!
Ответ №1:
Вы передаете сам класс, ListModel
, в представление, но представление ожидает, new ListModel()
например, экземпляр класса. Попробуйте
var view = new ListView({
model: new ListModel(),
el: 'div',
template: _.template('#todo-template')
});
См https://developer.mozilla.org/en-US/docs/Web/JavaScript/Introduction_to_Object-Oriented_JavaScript для получения дополнительной информации о классах и экземплярах в JS.
Комментарии:
1. Спасибо, это сработало как шарм. Я обязательно проверю это. Я надеюсь, что моя ошибка поможет кому-то еще в будущем.