want to make load external template from html in backbone view person and display the values from model person but get error in console say that template not defined my code is right so what problem
<script type="text/template" id="personTemplate" >
<strong><%= name %></strong>
<strong><%= age %></strong>
<strong><%= occupation %></strong>
</script>
var Person = Backbone.Model.extend({
initialize: function () {
this.on("invalid", function (model, error) {
alert(error);
});
},
defaults: {
name: 'Guest User',
age: 23,
occupation: 'worker'
}
});
var PersonView = Backbone.View.extend({
template: "#personTemplate",
initialize: function () {
alert("view success");
this.render();
},
render: function () {
template = _.template($(template).html())
this.$el.html(template, this.model.toJSON());
}
});
$(document).ready(function () {
var person = new Person
var personView = new PersonView( { model:person });
personView.el;
$(document.body).html(personView.el);
});
Try with
template = _.template($(this.template).html());
in your render
function.