我試圖通過computed
從我的vuex商店中獲取一些數據到組件中。出於某種原因,它不允許我在幾個組件中訪問userInfo.uid
。這就是說,即使VueTools清楚地顯示它已被成功導入,userInfo.uid
也是undefined
。不知道爲什麼會這樣。例如,這裏是一個測驗組件,我嘗試從我的vuex商店獲取userInfo
數據,因此我可以使用它在Firebase參考中訪問某些數據。未在Vue應用程序中填充的數據
我不能使用this.$store.state
訪問我的vuex狀態嗎?當我這樣做的時候它也會拋出一個錯誤。無論如何,下面的代碼給我95%的時間沒有定義。除了隨機它會給userId
然後我刷新頁面,它回到undefined
。不知道發生了什麼事。謝謝!
Quiz.vue
<template>
</template>
<script>
// TODO: WHY IS userInfo.uid UNDEFINED!!!!?????
var db = firebase.database();
import store from '../store'
import { mapState } from 'vuex'
import VueFire from 'vuefire'
import Vue from 'vue'
Vue.use(VueFire)
export default {
name: 'quiz',
computed: mapState({
userInfo: state => state.userInfo
}),
created() {
console.log(store.state.userInfo.uid)
},
components: {},
firebase: {
quiz: db.ref('/users/' + store.state.userInfo.uid + '/createdResources/' + store.state.postKey + '/quiz/')
}
}
</script>
<style>
.quiz {
margin-top: 60px;
padding: 40px;
width: 800px;
background-color: white
}
<style>
在你的圖片中有** apiKey **,可以向大家展示它嗎? –
我自己並沒有使用Firebase。 'db'是從服務器還是從本地存儲中獲取數據? –
從後端即服務提取數據。這個問題似乎是'createdInformation.vue'中未定義'userInfo',但我不知道爲什麼它顯示'undefined'。我將'props:[userInfo]'傳遞給'createdResources.vue',它應該允許我訪問它。 – maxwellgover