Backbone collection WTF
HTML
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.5.2/underscore-min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.0.0/backbone-min.js"></script>
JavaScript
(function($){
var Item = Backbone.Model.extend({
defaults: {
part1: 'hello',
part2: 'world'
},
initialize: function() {
//console.log("initialize item");
}
});
var List = Backbone.Collection.extend({
model: Item,
initialize: function() {
//console.log("initialize list");
}
});
var ListView = Backbone.View.extend({
//el: $('body'), // el attaches to existing element
initialize: function(){
_.bindAll(this, 'render'); // every function that uses 'this' as the current object should be in here
this.collection = new List();
this.render();
},
render: function(){
//console.log("listview render");
},
});
var list = new List();
var listView = new ListView({collection: list});
var item1 = new Item();
listView.collection.add(item1);
console.dir("Emptying collection...");
listView.collection.each(function (item) {
console.dir("Removing model cid:" + item.cid);
listView.collection.remove(item);
})
var item2 = new Item();
listView.collection.add(item2);
var item3 = new Item();
listView.collection.add(item3);
console.dir("Emptying collection...");
listView.collection.each(function (item) {
console.dir("Removing model cid:" + item.cid);
listView.collection.remove(item);
})
console.log(listView.collection.length);
})(jQuery);