Firebase auth()。onAuthStateChanged()

时间:2016-08-22 19:15:08

标签: angularjs ionic-framework firebase firebase-authentication

我在我的Ionic应用程序中使用了auth()。onAuthStateChanged(),所以当用户登录时,应用程序进入用户配置文件$ state但问题是,因为观察者一直在检查我无法检查的更改更改$ state,每当我尝试将其更改回用户配置文件$ state。

    firebase.auth().onAuthStateChanged(function(user) {
    $scope.currUser = user;
    if (user) {
        $scope.go('profile') //function to change states.
    } else {
    // No user is signed in.
        $scope.go("login") //login is where the app starts (login page)
    }
    });

现在,当我处于配置文件$ state并尝试转到另一个状态 - 例如,它会在一秒钟内回到配置文件状态。

请帮助我解决这个问题,并提前致谢

1 个答案:

答案 0 :(得分:0)

如果只需要确认用户已登录一次,则可以退订观察者。

var unsubscribe = firebase.auth().onAuthStateChanged(function(user) {
    unsubscribe();
    $scope.currUser = user;
    if (user) {
        $scope.go('profile') //function to change states.
    } else {
    // No user is signed in.
        $scope.go("login") //login is where the app starts (login page)
    }
    });