Управление документами в коллекции Firebase с помощью Vuex [Vuex / Vuexfire] - PullRequest
0 голосов
/ 11 марта 2020

У меня простой вопрос, но я не могу найти ответ. Я использую Vuexfire для импорта данных из Firebase в Vuex.

const state = {
    ricettario: [] // data that contains all recipes (objects)
}
const actions = {
    // Get data from Firebase
    init: firestoreAction(({ bindFirestoreRef }) => {
        bindFirestoreRef('ricettario', db.collection('ricettarioFirebase'))
    }),
}

Он отлично работает, но я хочу манипулировать каждым документом коллекции ricettarioFirebase. С vue + firebase было легко, с .get () и .then ()

Я не могу найти решение! Я думал, что использование GETTERS - лучший способ сделать это, но я новичок в Vuex и Vuexfire, поэтому я не знаю, как это сделать.

В частности, я хочу преобразовать это (classi c команда firebase):

db.collection("ricettarioFirebase")
      .orderBy("data")
      .get()
      .then(snapshot => {
        snapshot.forEach(doc => {
          let ricetta = doc.data();
          ricetta.data = dayjs(ricetta.data)
            .locale("it")
            .format("D MMMM YYYY");
          ricetta.diffClass = ricetta.diff.split(" ").join("_");
          this.ricettario.push(ricetta);
        });
      });

В Vuexfire. Поэтому изменить каждый объект в «ricettario []» будет «ricetta», и я хочу отредактировать «ricetta.diffClass» и «ricetta.data»

1 Ответ

0 голосов
/ 11 марта 2020

Как вы увидите в документации Vuexfire :

Vuexfire не обрабатывает запись данных обратно в Firebase , поскольку вы можете напрямую использовать Firebase JS SDK для точного обновления всего, что вам нужно.

В do c приведен пример использования «стандартного» * ​​1016 * SDK, точно так же, как вы делали это в своем вопросе («classi *»). 1017 * команда firebase "). Таким образом, вам придется go таким образом обернуть записи базы данных в Vuex Actions .

...