2017-01-05 188 views
0

我做了Facebook登錄到我的應用程序,我試圖檢查用戶是否登錄然後去主頁,如果不去登錄頁面。 我做到了與火力點,但我想這樣做與angularfire2 這是我的代碼以火力(我想這在angularfire2)離子2檢查用戶是否已經使用angularfire2登錄

firebase.auth().onAuthStateChanged((user) => { 
    var that=this; 
    if (user) { 
    if(this.reg_boolean=="true"){ 
     console.log("regCompleted"); 
     this.nav.setRoot(TabsPage,{ 
     dep:this.department,year:this.year,semester:this.semester 

    }) 
     this.rootPage=TabsPage; 
    } 
    else{ 
    this.rootPage = SignupPage; 
    } 
    console.log("I'm here! HomePage"); 
    } else { 
    this.rootPage = LoginPage; 
    console.log("I'm here! LoginPage"); 
    } 
}); 

回答

0

我得到這個在app.component.ts文件工作。

import { ViewChild } from '@angular/core'; 
import { Nav } from 'ionic-angular'; 
import { AngularFire } from 'angularfire2'; // import this, duh 

import { HomePage } from '../pages/home/home'; 
import { LoginPage } from '../pages/login/login'; 

export class MyApp { 
    @ViewChild(Nav) nav: Nav; 

    rootPage: any; 
    pages: Array<{ title: string, component: any }>; 
    userName:string; 

    constructor(public platform: Platform, 
       public af: AngularFire, 
       public authService: AuthenticationService) { // used for logout 

    this.initializeApp(); 

    // Listen for auth sub 
    af.auth.subscribe(user => { 
     this.rootPage = user ? HomePage : LoginPage; 
    }); 
    .... 

所以基本上得到監聽的訂閱和基於傳遞到VAR user值改變rootPage。如果您想要更明確地使用重定向,您可以在user上執行console.log()

+0

我會嘗試一下,如何在authService中使用?它是你項目中的提供者?你如何註銷?我有Facebook登錄。 –

相關問題