Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用firebase/vue.js实时生成删除函数_Javascript_Firebase_Vue.js_Google Cloud Firestore_Vuetify.js - Fatal编程技术网

Javascript 如何使用firebase/vue.js实时生成删除函数

Javascript 如何使用firebase/vue.js实时生成删除函数,javascript,firebase,vue.js,google-cloud-firestore,vuetify.js,Javascript,Firebase,Vue.js,Google Cloud Firestore,Vuetify.js,它成功地工作了,但我不知道如何使它与Firestore实时。我只知道当我添加一些东西时如何使其实时,正如您在下面的代码中看到的: removeData(doc) { if (confirm("Are you sure ?")) { db.collection("projects") .doc(doc) .delete() .then(() => { console.log("D

它成功地工作了,但我不知道如何使它与Firestore实时。我只知道当我添加一些东西时如何使其实时,正如您在下面的代码中看到的:

removeData(doc) {
  if (confirm("Are you sure ?")) {
    db.collection("projects")
      .doc(doc)
      .delete()
      .then(() => {
        console.log("Document successfully deleted!");
      });
  }
},

如果
this.projects
是一个数组,则可以使用以下方法从中删除删除项:

created() {
  db.collection("projects").onSnapshot((res) => {
    const changes = res.docChanges();
    changes.forEach((change) => {
      if (change.type === "added") {
        this.projects.push({
          ...change.doc.data(),
          id: change.doc.id,
        });
      }
      if (change.type === "removed") {
        //code goes here
      }
    });
  });
},
另请参阅上的MDN文档

created() {
  db.collection("projects").onSnapshot((res) => {
    const changes = res.docChanges();
    changes.forEach((change) => {
      if (change.type === "added") {
        this.projects.push({
          ...change.doc.data(),
          id: change.doc.id,
        });
      }
      if (change.type === "removed") {
        //code goes here
      }
    });
  });
},
if (change.type === "removed") {
   this.projects = this.projects.filter(item => item.id !== change.doc.id);
}