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>
<script src="http://rivetsjs.com/dist/rivets.min.js"></script>
<div id="user-collection-view">
<ul>
<li data-each-user="users">
<span data-text="user.name"></span>
</li>
</ul>
</div>
JavaScript
// CONFIGURE RIVETS.JS WITH BACKBONE.JS
rivets.configure({
adapter: {
subscribe: function(obj, keypath, callback) {
obj.on('change:' + keypath, callback);
},
unsubscribe: function(obj, keypath, callback) {
obj.off('change:' + keypath, callback);
},
read: function(obj, keypath) {
return obj instanceof Backbone.Collection ? obj["models"] : obj.get(keypath);
},
publish: function(obj, keypath, value) {
obj.set(keypath, value);
}
}
});
// BINDING BACKBONE.JS MODEL(S) TO A VIEW
var user1 = new Backbone.Model({name: 'Joe'});
var user2 = new Backbone.Model({name: 'Jane'});
var users= new Backbone.Collection();
users.add(user1);
users.add(user2);
var el = document.getElementById('user-collection-view');
rivets.bind(el, {users: users});