Backbone sample view & model

by maxim75

HTML

<script src="http://documentcloud.github.com/underscore/underscore.js"></script>
<script src="http://documentcloud.github.com/backbone/backbone.js"></script>
<p id="status">Test</p>
<button id="getTimeButton">+1</button>

JavaScript

var PageData =  Backbone.Model.extend({ 
    initialize: function() {
        this.set("count", 0);            
    } 
});

var PageView = Backbone.View.extend({
    tagName: "body",
    
    events: {
        "click #getTimeButton":          "open"
    },
    
    initialize: function (a) {
        this.model.bind('reset', this.render, this);
        this.model.bind('change', this.render, this);
        //this.model.bind('add', this.render, this);
        console.log("initialize", a); 
    },
    
    open: function() { 
        console.log("open");
        this.model.set("count", this.model.get("count") + 1); 
    },
    
    render: function() {
        console.log("render");
        $("#status", this.el).text(this.model.get("count"));
        return this;
    }
});

var TypeAPageView = PageView.extend({

});

$(document).ready(function() {
    var pageData = new PageData();
    var pageView = new TypeAPageView ({ el: $("body"), model: pageData   });
    console.log(pageView.el);
});