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');