#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
})
Это сработало для меня, вы могли бы также попробовать это или вернуть функцию, которая удалит его локально, вместо того, чтобы просто возвращать ответ, как во втором примере выше