Удалить ключ с помощью ресурса Vue

#firebase #vue.js #firebase-realtime-database #vuejs2 #vue-resource

#firebase #vue.js #firebase-база данных в реальном времени #vuejs2 #vue-ресурс

Вопрос:

Я хочу удалить данные, используя ключ firebase:

введите описание изображения здесь

Способ, которым я пытался удалить все данные из базы данных:

 this.$http.delete('data.json', book.id).then(response => {
      // success callback
      console.log("success");
      console.log(response);
    }, response => {
      // error callback
      console.log("error");
      console.log(response);
    });
  

Как я могу удалить только данные с id переданным?

Ответ №1:

Я решаю это с помощью vuefire

 npm install vuefire firebase --save
  

Скрипт:

 import { setTimeout } from 'timers';
import { db } from '../config/db';
let booksRef = db.ref('data')

  export default {
    data: () => ({
      books: []
    }), 
    firebase: {
      books: booksRef
    },
    methods: {
      show(book) {
        book.show = !(book.show);
      },
      deleteBook(book) {
        debugger;
        booksRef.child(book.id).remove();
      }
    },
  

Конфигурационную базу данных вы можете экспортировать из firebase.

Ответ №2:

 this.$http.delete(`data/${book.id}.json`)
   .then(response => {
         return response
         }.catch(err => {
         // error callback
           return err
        })

  this.$http.delete(`data/${book.id}.json`)
   .then(() => {
          const index = this.array.findIndex((i) => {
                return i.id === id 
            })
            if (index > -1) {
                this.array.splice(index, 1)
            }
         }.catch(err => {
         // error callback
           return err
        })
  

Это сработало для меня, вы могли бы также попробовать это или вернуть функцию, которая удалит его локально, вместо того, чтобы просто возвращать ответ, как во втором примере выше