【发布时间】:2020-09-10 12:19:41
【问题描述】:
当我运行代码时,我试图将从 Firebase 返回的 accessToken 存储到我的 Vue 项目中的 Vuex 存储中,但出现以下错误:
未捕获的类型错误:无法读取未定义的属性“$store”
看起来它没有在下面的代码中选择 store.js,有什么想法吗?
谢谢
登录.vue
mounted: function() {
Firebase.auth.onAuthStateChanged( user => {
if (user) {
user.getIdToken().then(function(idToken) {
this.$store.commit('setStoreToken', idToken)
return idToken
});
}
else {
.
.
.
}
store.js
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
export default new Vuex.Store({
state: {
loggedIn: false,
accessToken: '',
},
mutations: {
loggedIn () {
this.state.loggedIn = true
},
loggedOut () {
this.state.loggedIn = false
},
setStoreToken(state, accessToken) {
state.accessToken = accessToken
},
},
getters: {
getAccessToken: state => {
return state.accessToken
}
},
})
main.js
import store from './store.js'
new Vue({
store,
router,
render: h => h(App),
}).$mount('#app')
【问题讨论】: