Javascript 带firebase的Vue js不切换页面

Javascript 带firebase的Vue js不切换页面,javascript,firebase,vue.js,firebase-authentication,Javascript,Firebase,Vue.js,Firebase Authentication,所以我的问题是,当我使用firebase登录时,我的挂载函数应该切换组件,我尝试了很多东西,但没有任何效果。我只需要一种方式,以什么我的路由器将切换页面后,我登录 登录 电子邮件地址 密码 登录 从“firebase”导入firebase; 导出默认值{ 名称:“登录”, 数据(){ 返回{ 电邮:“, 密码:“”, }; }, 挂载:函数(){ 如果(firebase.auth().currentUser)这个.router.replace(“/HeaderLoggedIn”); }, 方

所以我的问题是,当我使用firebase登录时,我的挂载函数应该切换组件,我尝试了很多东西,但没有任何效果。我只需要一种方式,以什么我的路由器将切换页面后,我登录


登录
电子邮件地址
密码
登录
从“firebase”导入firebase;
导出默认值{
名称:“登录”,
数据(){
返回{
电邮:“,
密码:“”,
};
},
挂载:函数(){
如果(firebase.auth().currentUser)这个.router.replace(“/HeaderLoggedIn”);
},
方法:{
登录:函数(){
火基
.auth()
.signInWithEmailAndPassword(this.email,this.password)
。然后((用户)=>{
console.log(user.user);
});
},
},
};

代替此方法,您可以尝试在main.js文件中的每个方法之前设置一个全局路由器,并在进入每个页面之前检查身份验证状态,并将所有内容放在一个位置,而不是将每个页面分开,然后您可以根据每个状态执行操作。

此代码中存在问题:

  mounted: function () {
    if (firebase.auth().currentUser) this.$router.replace("/HeaderLoggedIn");
  },
现在,您正在检查安装组件时用户是否已登录。这种情况只发生一次,而用户在多次进行身份验证,因为这是一种异步操作

您将需要*侦听身份验证状态的更改,如文档中关于以下内容的第一个片段所示:

  mounted: function () {
    firebase.auth().onAuthStateChanged(function(user) {
      if (user) {
        this.$router.replace("/HeaderLoggedIn");
      }
    });
  },