Backbone.js: Module 6 Custom Collections

by emgee

HTML

<script src="http://documentcloud.github.com/underscore/underscore.js"></script>
<script src="http://documentcloud.github.com/backbone/backbone.js"></script>

JavaScript

var Vehicle = Backbone.Model.extend({
});

var Vehicles = Backbone.Collection.extend(
    {model: Vehicle},
    {
        oneVehicle: function (){
            return new Vehicle({ color: "green"});
        }
    }
);

var vehicles = new Vehicles([
    {color: "blue"}, {color: "red"}
]);

console.log(vehicles.length);
console.log("All vehicles: " + JSON.stringify(vehicles));
console.log("Vehicle at position 0: " + JSON.stringify(vehicles.at(0)));
            
var v = Vehicles.oneVehicle();
console.log("New Vehicle: " + JSON.stringify(v));