我有一个简单的问题,但找不到答案。 我正在使用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”
答案 0 :(得分:0)
您将在Vuexfire documentation中看到:
Vuexfire 不处理将数据写回Firebase ,因为您可以 直接使用Firebase JS SDK精确更新您所需要的任何内容 需要。
该文档提供了一些使用“标准” JS SDK的示例,就像您在问题中所做的一样(“经典firebase命令”)。因此,您必须采用这种方式,将数据库写操作包装在Vuex Actions中。