Ошибка backbone.js _ensureElement
Я получаю эту ошибку, когда хочу инициализировать представление из класса маршрутизатора.
Ошибка:
Uncaught TypeError: Object # не имеет метода '_ensureElement'
BlogFormView:
App.BlogFormView = Backbone.View.extend({
el: ".data-form",
initialize: function(){
this.template = _.template($("#blog_form_template").html());
this.render();
},
render: function(){
this.$el.html(this.template({blog: this.model.toJSON()}));
return this;
},
events: {
"click .submit-blog" : "submitForm"
},
submitForm: function(ev){
}
});
Router:
var blog = new App.Blog();
var blogFormView = App.BlogFormView({model: blog});
Ответы
Ответ 1
В коде маршрутизатора отсутствует новое ключевое слово:
var blogFormView = new App.BlogFormView({model: blog});
Кроме того, обычно не рекомендуется выводить рендер внутри метода initialize. Я лично просто вызываю рендеринг внутри кода маршрутизатора.