Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <!-- Vue -->   
<script src="https://unpkg.com/vue"></script>
<!-- Firebase -->   
<script src="https://www.gstatic.com/firebasejs/5.3.1/firebase.js"></script>
<!-- Firestore -->   
<script src="https://www.gstatic.com/firebasejs/5.3.1/firebase-firestore.js"></script>
<!-- vue-firestore -->   
<script src="https://unpkg.com/vue-firestore"></script>
</head>
<body>
<div class = "container" id="app">
  <ul class="list-group">
    <li class="list-group-item" v-for= "p in persons">
      {{p.name}} <button @click="remove(p)" class="badge">x</button>
    </li>
  </ul>
  
  <input class="form-control" type="text" v-model="person.name" v-on:keyup.enter="add()">
  <br>
  <button class="btn btn-primary" @click="add()">Add new</button>
</div>
</body>
</html>
 
// Change the configurations.  
var config = {
        apiKey: "your-apik-ey",
        authDomain: "your-auth-domain",
        databaseURL: "your-database-url",
        projectId: "your-project-id",
        storageBucket: "your-storage-bucket",
        messagingSenderId: "your-messaing-sender-id"
  }
        
  // Initialize Firebase.
  firebase.initializeApp(config);
new Vue({
  el: "#app",
  firestore() {
     return {
       persons: firebase.firestore().collection("persons")
     }
  },
  data(){
    return {
      person: {
        name: ""
      }
    }
  },
  methods: {
    add() {
      this.$firestore.persons.add(this.person)
      .then(()=>{
        this.person.name = ""
      })
    },
    remove(e) {
      this.$firestore.persons.doc(e['.key']).delete()
    }
  }
})
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
amranidevpro
0viewers