2013-12-10 3 views
11

Я получаю эту ошибку, когда хочу инициализировать представление из класса маршрутизатора.Backbone.js _ensureElement error

Ошибка: Uncaught TypeError: Объект # не имеет метода '_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){ 

    } 
}); 

Маршрутизатор:

var blog = new App.Blog(); 
var blogFormView = App.BlogFormView({model: blog}); 

ответ

24

Вы отсутствуете нового ключевым слова в маршрутизаторе код:

var blogFormView = new App.BlogFormView({model: blog}); 

Кроме того, обычно не рекомендуется вызывать рендер внутри инициализировать метод. Я лично просто позвоню , сделав внутри кода маршрутизатора.

+0

ooooh, просто очень глупая ошибка :) Большое спасибо. –