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  })