BackboneFire
by HYEONGJINKIM
HTML
<script src="https://cdn.firebase.com/js/client/1.0.21/firebase.js"></script>
<script src="http://ajax.cdnjs.com/ajax/libs/underscore.js/1.1.4/underscore-min.js"></script>
<script src="http://ajax.cdnjs.com/ajax/libs/backbone.js/0.3.3/backbone-min.js"></script>
<script src="https://cdn.firebase.com/libs/backfire/0.3.0/backfire.min.js"></script>
<script src="https://cdn.firebase.com/js/simple-login/1.6.1/firebase-simple-login.js"></script>
JavaScript
/*var Todo = Backbone.Model.extend({
defaults: {
completed: false,
title: 'New todo'
}
});
var Todos = Backbone.Firebase.Collection.extend({
url: 'https://khj.firebaseio.com/todos',
model: Todo
});*/
/*var RealtimeList = Backbone.Firebase.Collection.extend({
url: 'https://khj.firebaseio.com/users',
autoSync: true // this is true by default
})
var realtimeList = new RealtimeList();
realtimeList.on('sync', function(collection) {
console.log('collection is loaded');
console.log(collection);
});*/
/*var ref = new Firebase("https://khj.firebaseio.com/");
var usersRef = ref.child("users");
usersRef.set({
alanisawesome: {
date_of_birth: "June 23, 1912",
full_name: "Alan Turing"
},
gracehop: {
date_of_birth: "December 9, 1906",
full_name: "Grace Hopper"
}
});*/
var RealtimeModel = Backbone.Firebase.Model({
url: 'https://khj.firebaseio.com/users',
autoSync: false
});
var realtimeModel = new RealtimeModel();
realtimeModel.on('sync', function(model) {
console.log('model loaded', model);
});
// this will fire off the sync event
realtimeModel.fetch();
// calling .save() will sync the changes to firebase
// this will fire the sync, change, and change:name events
realtimeModel.save('name', 'Bob');