I'm getting this error, when I want to initialize the view from router class.
Error is: Uncaught TypeError: Object # has no method '_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});
You are missing new keyword in router code:
var blogFormView = new App.BlogFormView({model: blog});
Also, it usually isn't best idea to call render inside the initialize method. I personally would just call render inside the router code.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With