github.com/insionng/yougam@v0.0.0-20170714101924-2bc18d833463/public/libs/vue-1.0.24/examples/firebase/app.js (about) 1 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,}))$/ 2 3 // Firebase ref 4 var usersRef = new Firebase('https://vue-demo.firebaseIO.com/users') 5 6 // create Vue app 7 var app = new Vue({ 8 // element to mount to 9 el: '#app', 10 // initial data 11 data: { 12 newUser: { 13 name: '', 14 email: '' 15 } 16 }, 17 // firebase binding 18 // https://github.com/vuejs/vuefire 19 firebase: { 20 users: usersRef 21 }, 22 // computed property for form validation state 23 computed: { 24 validation: function () { 25 return { 26 name: !!this.newUser.name.trim(), 27 email: emailRE.test(this.newUser.email) 28 } 29 }, 30 isValid: function () { 31 var validation = this.validation 32 return Object.keys(validation).every(function (key) { 33 return validation[key] 34 }) 35 } 36 }, 37 // methods 38 methods: { 39 addUser: function () { 40 if (this.isValid) { 41 usersRef.push(this.newUser) 42 this.newUser.name = '' 43 this.newUser.email = '' 44 } 45 }, 46 removeUser: function (user) { 47 usersRef.child(user['.key']).remove() 48 } 49 } 50 })