Я пытаюсь получить некоторые данные из моего хранилища vuex в компонент через computed
. По какой-то причине это не позволяет мне получить доступ к userInfo.uid
в нескольких моих компонентах. Говорят, что userInfo.uid
- это undefined
, хотя VueTools явно показывает, что он был успешно импортирован. Не знаю, почему это происходит. Например, здесь есть компонент викторины, где я пытаюсь получить данные userInfo
из моего хранилища vuex, чтобы я мог использовать его для доступа к некоторым данным с помощью ссылки на firebase.Данные не заполняются в приложении Vue
Должен ли я иметь доступ к моему состоянию vuex с помощью this.$store.state
? Я тоже ошибаюсь, когда делаю это. В любом случае, следующий код дает мне неопределенное 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' получение данных с сервера или из-за чего-то вроде локального хранилища? –
Выбирает данные из бэкэнд-а-сервиса. Кажется, что проблема 'userInfo' не указана в' createdResources.vue', но я понятия не имею, почему она показывает 'undefined'. Я передаю «реквизиты: [userInfo]' to 'createdResources.vue', которые должны позволить мне получить к нему доступ. – maxwellgover