Skip to content

Commit 4d82f6a

Browse files
committed
update firebase example to use VueFire
1 parent 0cf2502 commit 4d82f6a

File tree

2 files changed

+15
-34
lines changed

2 files changed

+15
-34
lines changed

examples/firebase/app.js

Lines changed: 10 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,24 @@
1-
var baseURL = 'https://vue-demo.firebaseIO.com/'
21
var emailRE = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
32

4-
/**
5-
* Setup firebase sync
6-
*/
7-
8-
var Users = new Firebase(baseURL + 'users')
9-
10-
Users.on('child_added', function (snapshot) {
11-
var item = snapshot.val()
12-
item.id = snapshot.key()
13-
app.users.push(item)
14-
})
15-
16-
Users.on('child_removed', function (snapshot) {
17-
var id = snapshot.key()
18-
app.users.some(function (user) {
19-
if (user.id === id) {
20-
app.users.$remove(user)
21-
return true
22-
}
23-
})
24-
})
25-
26-
/**
27-
* Create Vue app
28-
*/
3+
// Firebase ref
4+
var usersRef = new Firebase('https://vue-demo.firebaseIO.com/users')
295

6+
// create Vue app
307
var app = new Vue({
31-
328
// element to mount to
339
el: '#app',
34-
3510
// initial data
3611
data: {
37-
users: [],
3812
newUser: {
3913
name: '',
4014
email: ''
4115
}
4216
},
43-
17+
// firebase binding
18+
// https://github.com/vuejs/vuefire
19+
firebase: {
20+
users: usersRef
21+
},
4422
// computed property for form validation state
4523
computed: {
4624
validation: function () {
@@ -56,18 +34,17 @@ var app = new Vue({
5634
})
5735
}
5836
},
59-
6037
// methods
6138
methods: {
6239
addUser: function () {
6340
if (this.isValid) {
64-
Users.push(this.newUser)
41+
usersRef.push(this.newUser)
6542
this.newUser.name = ''
6643
this.newUser.email = ''
6744
}
6845
},
6946
removeUser: function (user) {
70-
new Firebase(baseURL + 'users/' + user.id).remove()
47+
usersRef.child(user['.key']).remove()
7148
}
7249
}
7350
})

examples/firebase/index.html

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,12 @@
44
<title>Vue.js Firebase example</title>
55
<meta charset="utf-8">
66
<link rel="stylesheet" type="text/css" href="style.css">
7-
<script src='https://cdn.firebase.com/js/client/2.2.9/firebase.js'></script>
7+
<!-- Vue -->
88
<script src="../../dist/vue.js"></script>
9+
<!-- Firebase -->
10+
<script src="https://cdn.firebase.com/js/client/2.4.2/firebase.js"></script>
11+
<!-- VueFire -->
12+
<script src="https://cdn.jsdelivr.net/vuefire/1.0.1/vuefire.min.js"></script>
913
</head>
1014
<body>
1115
<div id="app">

0 commit comments

Comments
 (0)