使用Vuex处理Firebase集合中的文档[Vuex / Vuexfire]

时间:2020-03-10 23:10:04

标签: javascript firebase vue.js vuex vuexfire

我有一个简单的问题,但找不到答案。 我正在使用Vuexfire从Vuex中的Firebase导入数据。

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是我的新手,所以我不知道该怎么做。

特别是,我要转换此内容(经典的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 :(得分:0)

您将在Vuexfire documentation中看到:

Vuexfire 不处理将数据写回Firebase ,因为您可以 直接使用Firebase JS SDK精确更新您所需要的任何内容 需要。

该文档提供了一些使用“标准” JS SDK的示例,就像您在问题中所做的一样(“经典firebase命令”)。因此,您必须采用这种方式,将数据库写操作包装在Vuex Actions中。