Angular 如何使用onAuthStateChanged推送页面

Angular 如何使用onAuthStateChanged推送页面,angular,firebase,firebase-authentication,ionic3,Angular,Firebase,Firebase Authentication,Ionic3,我是firebase的最新用户,我需要验证用户是否登录,如果是真的,请将其推到其他页面,但没有发生任何事情,请帮助我!。 我有这个功能 verify(){ firebase.auth().onAuthStateChanged( function(userTester) { if (userTester) { this.navCtrl.push(ListPage); } else { console.log('nobody login');

我是firebase的最新用户,我需要验证用户是否登录,如果是真的,请将其推到其他页面,但没有发生任何事情,请帮助我!。 我有这个功能

verify(){
firebase.auth().onAuthStateChanged(  function(userTester) {
    if (userTester) {
        this.navCtrl.push(ListPage);
    } else {
        console.log('nobody login');
    }
});

}

我创建了下面的函数来帮助我解决这个问题。我在auth.service.ts中创建了它

isLoggedIn() {
    this.afAuth.auth.onAuthStateChanged(auth => {
      // Now use value 
      if (auth) {
        // logged in
        console.log('this is their UID: ' + auth.uid);
        console.log('Routing to items');
        this.router.navigate(['/items']);
      } else {
        // logged out
        console.log('User logged out');
      }
    });
  }
上面的控制台日志是为了验证我是否能够看到它。然后当有人登录时,我就叫它:

googleLogin() {
    const provider = new firebase.auth.GoogleAuthProvider()
    this.isLoggedIn();
    return this.oAuthLogin(provider);
  }

是否触发了console.log部分?否,控制台不显示任何内容,我将console.log放在true中,并触发警报。因此,如果未按下console.log,则必须触发console.log。我以前将console.log放在true中并显示消息