Я только начинаю с Backbone.js. У меня подклассы Backbone.Model
и Backbone.View
:
var Message = Backbone.Model.extend();
var MessageView = Backbone.View.extend({
tagName: 'div',
className: 'message',
template: _.template('{{ html }}'),
render: function(){
this.template({
html: this.model.html
});
this.el.className.append(' ' + this.model.type);
return this;
}
});
Затем я попытался создать экземпляр каждого из них:
var message = new Message({html: html, type: type});
var messageView = new MessageView({model: message});
Последняя строка строки вызывает ошибку (в Chrome 12): Uncaught TypeError: undefined is not a function
. Эта ошибка прослеживается до функции f.extend.make
в Backbone.js.
Документация Backbone.js по view.make
гласит:
Удобная функция для создания элемента DOM данного типа (tagName) с необязательными атрибутами и содержимым HTML. Используется внутри для создания начального view.el
.
- Требуется ли jQuery или Zepto?
- Могу ли я удалить эту зависимость, переопределив
view.make
в моем вызове Backbone.View.extend
?