| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- 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,}))$/
- // Setup Firebase
- var config = {
- apiKey: "AIzaSyAi_yuJciPXLFr_PYPeU3eTvtXf8jbJ8zw",
- authDomain: "vue-demo-537e6.firebaseapp.com",
- databaseURL: "https://vue-demo-537e6.firebaseio.com"
- }
- firebase.initializeApp(config)
- var usersRef = firebase.database().ref('users')
- // create Vue app
- var app = new Vue({
- // element to mount to
- el: '#app',
- // initial data
- data: {
- newUser: {
- name: '',
- email: ''
- }
- },
- // firebase binding
- // https://github.com/vuejs/vuefire
- firebase: {
- users: usersRef
- },
- // computed property for form validation state
- computed: {
- validation: function () {
- return {
- name: !!this.newUser.name.trim(),
- email: emailRE.test(this.newUser.email)
- }
- },
- isValid: function () {
- var validation = this.validation
- return Object.keys(validation).every(function (key) {
- return validation[key]
- })
- }
- },
- // methods
- methods: {
- addUser: function () {
- if (this.isValid) {
- usersRef.push(this.newUser)
- this.newUser.name = ''
- this.newUser.email = ''
- }
- },
- removeUser: function (user) {
- usersRef.child(user['.key']).remove()
- }
- }
- })
|