我正在使用Firestore构建基于Vue.js的管理系统。目前,我已经成功提交了数据,其中收集字符串是用户以步进表单提交的自定义标题,而文档字符串是注册用户的UID。所有这一切的主要目的是确保用户只能接收以用户UID为文本字符串的集合或文档。
数据库树如下所示:
我希望用户在提交用户数据时创建的另一部分中查看此数据。因此,如果用户创建一个名为“ Project”的项目,则在侧面板中将显示一个名为“ Project”的选项卡。这行得通,但不适用于我添加的已定义变量。
我在寻找应该在新部分的v-for中添加的值时遇到了问题。
如果我在要提交数据的部分提交数据,它将显示“项目”作为收集字符串,而不是用户UID字符串。当我这样做时,这种情况发生在f.ex:
methods: {
submit () {
if (this.$refs.form.validate()) {
this.loading = true
const project = {
title: this.title,
description: this.description,
purpose: this.purpose,
type: this.project,
user: this.user
}
db.collection('project').add(project).then(() => {
this.loading = false
this.dialog = false
this.$emit('projectAdded')
})
}
}
}
使用上面的代码,我可以使用以下命令获取新创建的集合:
v-for="project in project"
但是,切换代码并使用“用户UID”而不是“项目”
methods: {
submit () {
if (this.$refs.form.validate()) {
this.loading = true
db.collection(this.user).doc(this.user).set({
title: this.title,
description: this.description,
purpose: this.purpose,
type: 'project',
date: new Date().toJSON().slice(0, 10).replace(/-/g, '/'),
user: this.user
})
}
}
我现在显然不能使用v-for =“ project in project”,因为集合和文档字符串是基于用户uid的,所以由于firebase中的集合和文档字符串现在是“ user uid”,所以我不确定该放置什么在v-for中。
我已经在this.user中尝试过this.user,在user中尝试了user,各种各样的值,但是似乎无法获取。另外,当我尝试在v-for内插值时出现错误,我也尝试了:v-for,它允许我传递cli,但在chrome控制台上引发错误。
如何获取用户UID的集合或文档字符串?
在此感谢所有答复和反馈,谢谢。