开发者问题收集

带有 Vue 的 firestore 数据库:当我刷新页面时,屏幕上没有显示数据,

2020-08-31
327

我将 Firestore 与 Vue 结合使用,问题是:我无法从数据库获取数据,但是当我将 :key="Profiles['.key']" 更改为此 :key="Profiles" 时,我会在屏幕上看到数据,但是当我刷新页面时数据就消失了,我再也看不到它了。

这是代码:

<template>
    <div>
        <h1 class="text-center mt-16">Admin</h1>
        <div v-for="Profiles in Profile" :key="Profiles" class="text-center mt-16">
            <p>{{Profiles.username}}</p>
            <p>{{Profiles.email}}</p>
            <p>{{Profiles.userId}}</p>
            <p>{{Profiles.role}}</p>
            <p>{{Profiles.haveAccess}}</p>
            <p>{{Profiles.createdAt}}</p>
        </div>
    </div>
</template>

<script>
/*eslint-disable-line*/import { db } from '../../Database';
import firebase from 'firebase';
export default {
    data() {
        return {
            currentUser: firebase.auth().currentUser
        }
    },
    created() {
        this.currentUser = firebase.auth().currentUser;
    },
    firestore: {
      Profile: db.collection('Profile')
    }
}
</script>

这是来自数据库的数据。 在此处输入图像描述

但是当我刷新页面时,我不再获取数据了。 在此处输入图片描述

1个回答

发生这种情况的原因是“Created”仅在页面创建期间调用,对于每次访问时都会发出的请求,请尝试将“Created”更改为“Mounted”。

有关更多信息,请搜索 Vue.js 生命周期。

Henrique Noronha Favorette
2020-08-31