BB Skeleton
by kyllle
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0-alpha1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.2/backbone-min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.0.5/handlebars.min.js"></script>
SCSS
* {
-webkit-font-smoothing: antialiased;
}
body {
padding: 5%;
}
JavaScript
console.clear();
//http://thejsguy.com/2015/03/18/overriding-backbone-sync.html
//http://backbonejs.org/#Sync
var Person = Backbone.Model.extend({
sync: function(method, model, options) {
console.log('Sync::method', method);
switch (method) {
case 'delete':
console.log('delete');
options.url = '/api/orders/cancelOrder';
return Backbone.sync('create', model, options);
case 'read':
console.log('read');
options.url = '/api/orders/' + model.get('order_id');
return Backbone.sync(method, model, options);
case 'update':
console.log('update');
case 'create':
console.log('model.save::create, collection.create');
}
}
});
var Persons = Backbone.Collection.extend({
model: Person
});
var person = new Person();
var persons = new Persons();
persons.add({'id': 1, 'name': 'kyle'});
console.log(persons.toJSON());
persons.reset();
console.log(persons.toJSON());