2

目前正在嘗試使用離子v2構建應用程序& firebase v3。 不幸的是我很努力地抓住登錄用戶的詳細信息。使用firebase獲取當前用戶角度?

在我app.ts,我正確地連接到我的firebaseapp和登錄用戶的認可和用戶顯示的網頁:

import {Component} from '@angular/core'; 
import {Platform, ionicBootstrap, NavController} from 'ionic-angular'; 
import {StatusBar} from 'ionic-native'; 
import {HomePage} from './pages/home/home'; 
declare var firebase:any; 
import {Data} from './providers/data/data'; 
import {LoginPage} from './pages/login/login'; 

@Component({ 
    template: '<ion-nav [root]="rootPage"></ion-nav>', 
    providers: [Data] 
}) 
export class MyApp { 
    rootPage: any = LoginPage; 

    constructor(platform: Platform) { 
    platform.ready().then(() => { 
     // Okay, so the platform is ready and our plugins are available. 
     // Here you can do any higher level native things you might need. 
     StatusBar.styleDefault(); 

     // Initialize Firebase 
     var config = { 
     apiKey: "xxxx", 
     authDomain: "xxxx.firebaseapp.com", 
     databaseURL: "https://xxxx.firebaseio.com", 
     storageBucket: "xxxx.appspot.com", 
     }; 

     firebase.initializeApp(config); 

     firebase.auth().onAuthStateChanged((user) => { 
     if (user) { 
      // If there is a user, take him to home page. 
      console.log("User is logged in!"); 
      //console.log(user); 
      this.rootPage = HomePage; 
     } else { 
      // If there is no user logged in, send to login page. 
      this.rootPage = LoginPage; 
     } 
     }); 
    }); 
    } 
} 

ionicBootstrap(MyApp); 
在我的另一文件

然後,我想找回登錄使用

var authData = firebase.auth().currentUser(); 

我得到了我的控制檯下面的錯誤用戶的ID:

EXCEPTION: Error: Uncaught (in promise): EXCEPTION: Error in :0:0 
ORIGINAL EXCEPTION: TypeError: firebase.auth(...).currentUser is not a function 
ORIGINAL STACKTRACE: 
TypeError: firebase.auth(...).currentUser is not a function 
    at new AddItemPage (http://localhost:8100/build/js/app.bundle.js:97:40) 
    at DebugAppView._View_AddItemPage_Host0.createInternal (AddItemPage_Host.template.js:20:27) 
    at DebugAppView.AppView.create (http://localhost:8100/build/js/app.bundle.js:30016:21) 
    at DebugAppView.create (http://localhost:8100/build/js/app.bundle.js:30228:44) 
    at ComponentFactory.create (http://localhost:8100/build/js/app.bundle.js:29245:36) 
    at ViewContainerRef_.createComponent (http://localhost:8100/build/js/app.bundle.js:30436:45) 
    at http://localhost:8100/build/js/app.bundle.js:53117:47 
    at ZoneDelegate.invoke (http://localhost:8100/build/js/zone.js:323:29) 
    at Object.onInvoke (http://localhost:8100/build/js/app.bundle.js:35470:41) 
    at ZoneDelegate.invoke (http://localhost:8100/build/js/zone.js:322:35) 
ERROR CONTEXT: 
[object Object] 

我很困惑爲什麼currentUser()不是一個函數,當文檔說它是? https://firebase.google.com/docs/auth/web/manage-users#get_the_currently_signed-in_user

謝謝!

回答

4

的文件說,

firebase.auth().currentUserfirebase.auth().currentUser()是讓用戶

+0

輝煌的正確方法。剛剛醒來......你可以告訴我在凌晨3點寫了這個問題,現在爲什麼我不能注意到這一切都是有道理的......謝謝! – Kyanite