ceth
ceth

Reputation: 45295

Why my simple view is not working

I have this JS code:

$(function() {

  var LinkView = new Backbone.View.extend({
    render: function() {
      this.$el.html(this.model.get('text'));
    }
  });

  var Link = Backbone.Model.extend({
    text: 'message',

    say: function() {
      console.log(this.text);
    }
  });

  var l = new Link();
  l.say();

  var v = new LinkView({model : l, el : 'body'});
  v.render();
});

I am waiting to get 'message' on the browser, but get the error TypeError: r.apply is not a function in the console. Why and how can I fix it ?

Upvotes: 1

Views: 64

Answers (1)

Sachin Shukla
Sachin Shukla

Reputation: 171

Please paste this, new was the problem in View, also did slight modification. it works now..

$(function() {

 var Link = Backbone.Model.extend({

 defaults : {
     text: 'default message'
  },

  say: function() {
  console.log(this.get('text'));
  }
});

 var LinkView = Backbone.View.extend({
  render : function() {
  this.$el.html(this.model.get('text'));
   }
 });

 var l = new Link({text:'custom text message'});
 l.say();

 var v = new LinkView({model : l, el : 'body'});
 v.render();
});

Upvotes: 1

Related Questions