Vue, база данных firebase возвращает пустой массив - PullRequest
0 голосов
/ 10 июня 2018

Я пытаюсь получить данные из базы данных Firebase.

И я могу подключиться к аутентификации firebase и проверить данные currentUser , все в порядке.
Но я не могу получить данные из базы данных firebase, она просто возвращает пустой массив.

версия firebase = 5.0.4
версия vue = 2.5.16

Структура базы данных

users/     
--------uId/        
--------------name    
--------------email 

Структура папок Vue Js

App.vue    
firebase.js    
main.js     
components /     
------------ Home.vue  

firebase.js

var firebase = require('firebase');
require("firebase/auth");     
require("firebase/database");

var config = {
    apiKey: "...",
    authDomain: "...",
    databaseURL: "...",
    projectId: "...",
    storageBucket: "...",
    messagingSenderId: "..."
};
firebase.initializeApp(config)
export const auth = firebase.auth();
export const db = firebase.database()

Home.vue

<script>
import {db} from './../firebase';
import {auth} from './../firebase';
var usersRef = db.ref('users');

export default {
    name: "Home",
    components: {
        add_new
    },
    data(){
        return {}
    },
    mounted: function(){
        console.log(usersRef);
        var userId = auth.currentUser.uid;
        return db.ref('/users/' + userId).once('value').then(function(snapshot) {
            snapshot.forEach(function (childData) {
                console.log(childData.val())
            })
        })
    }
}
</script>

Здесь приложение Vue работает правильно,
только firebase.database ( usersRef ) возвращает пустой массив.

Это скриншот console.log (usersRef) результат
https://i.stack.imgur.com/NH7gh.png

1 Ответ

0 голосов
/ 10 июня 2018

Сначала вместо использования нескольких операторов импорта, почему бы не

import {auth, db} from './../firebase';

И попробуйте изменить

snapshot.forEach(function (childData) {
   console.log(childData.val())
})

на snapshot.val()

var userId = auth.currentUser.uid;
return db.ref('/users/' + userId).once('value').then(function(snapshot) {
   console.log(snapshot.val());
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...