JSFiddle - React, Tailwind, and code Playground

HTML

<script src="http://underscorejs.org/underscore-min.js"></script>
<script src="http://backbonejs.org/backbone-min.js"></script>
<div id='log'></div>

JavaScript

function wlog(msg) {
    $("#log").append(msg+"<br />");
}


var ThumbView=Backbone.View.extend({
    initialize: function() {
        this.model.on("change:title", this.log, this);
    },

    log:function(model) {
        wlog("Thumb view : "+model.get("id")+" : "+model.get("title"));
    }
});

var MainView=Backbone.View.extend({   
    setModel: function(m) {
        this.teardown();
        this.model=m;
        this.model.on("change:title", this.log, this);
    },

    log:function(model) {
        wlog("Main view : "+model.get("id")+" : "+model.get("title"));
    },

    teardown: function() {
        if (this.model)
            this.model.off(null, null, this);
    }
});

var m1=new Backbone.Model({id:1,title:"m1"});
var m2=new Backbone.Model({id:2,title:"m2"});

var t=new ThumbView({model:m1});
var v=new MainView();

v.setModel(m1);
m1.set({title:"m1, 1"});

v.setModel(m2);
m1.set({title:"m1, 2"});