在VueJS应用程序中放置Firebase的OnAuthStateChanged-Method的位置?

时间:2017-07-27 17:59:16

标签: firebase vue.js

我想在我的VueJS-Application中触发onAuthStateChanged - Firebase方法。

目前我无法以某个用户身份登录,onAuthStateChanged - 方法似乎无法运行。

我的行动是由......开始的。

beforeCreate() {
    this.$store.dispatch('update_session')
}

...在我的主App-Component中。

突变看起来像:

update_session(state) {
    auth.onAuthStateChanged().then((user) => {
        if (user) {
            // USE USER KEY
            state.user.current.key = user.uid
            // USE USER ROLE
            users.child(state.user.current.key).on('value', (snapshot) => {
                state.user.current.role = snapshot.val().role
            })
        }
    })
}

修改

当然我正在使用一个动作:

update_session({ commit }) {
    commit('update_session')
}

1 个答案:

答案 0 :(得分:1)

每个身份验证状态更改都会调用onAuthStateChanged

因此,例如当您重新加载页面时,将使用本地存储中的firebase数据调用它。

您需要在我的main.js文件

中全局处理此问题