Vue,firebase数据库返回空数组
2018-06-10
742
我正在尝试从 firebase 数据库检索数据。
我可以连接到 firebase auth 并检查
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.sstatic.net/NH7gh.png
1个回答
首先,为什么不使用多个 import 语句呢
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());
});
wobsoriano
2018-06-10