2017-09-04 45 views
0

我在Firebase和Ionic 2中設置了一個登錄系統。我使用Tabs模板啓動了我的應用程序,並試圖使其在用戶登錄時在他們被引導到TabsPage。如何在登錄後將離子應用程序push()推送到TabsPage

當我嘗試使用this.navCtrl.push('TabsPage');它給我一個承諾錯誤。

這裏是我的Login.ts

import { Component } from '@angular/core'; 
import { IonicPage, NavController, NavParams } from 'ionic-angular'; 
import { User } from "../../models/user"; 
import { AngularFireAuth } from 'angularfire2/auth'; 

@IonicPage() 
@Component({ 
    selector: 'page-login', 
    templateUrl: 'login.html', 
}) 
export class LoginPage { 

    user = {} as User; 

    constructor(private afAuth: AngularFireAuth, public navCtrl: 
NavController, 
public navParams: NavParams) { 
    } 

    async login(user: User){ 
    try{ 
    const result = this.afAuth.auth.signInWithEmailAndPassword(user.email, 
user.password); 
     if(result){ 
     this.navCtrl.push('TabsPage'); 
     } 
    } 
    catch(e){ 
    console.error(e); 
    } 
    } 

    register(){ 
    this.navCtrl.push('RegisterPage'); 
    } 

} 

回答

1

變化this.navCtrl.push('TabsPage')await this.navCtrl.push('TabsPage')

,使寄存器功能async和在它前面加await了。

+0

omg我搞亂了這麼久......你是個傳奇人物!謝謝 – Benpeterscode

相關問題