2017-01-12 1 views
0

Я получаю эту ошибкуИсключение: неперехваченное (обещанию) после входа в систему с Facebook в ионном 2 приложения

Исключение: неперехваченное (обещанию): ложные

после входа в систему с Facebook в моей ионными 2 приложения. подключен успешно, но я получаю эту ошибку. enter image description here

мои app.component.ts

import { Component,ViewChild } from '@angular/core'; 
import { Platform,Nav, LoadingController} from 'ionic-angular'; 
import { StatusBar, Splashscreen } from 'ionic-native'; 

//import pages 
import { HomePage } from '../pages/home/home'; 
import { LoginPage } from '../pages/login/login'; 
import { SignupPage } from '../pages/signup/signup'; 
import { TabsPage } from '../pages/tabs/tabs'; 
import { AboutPage } from '../pages/about/about'; 
import {StudentsPage} from '../pages/students/students'; 



//import plugins 
//import firebase from 'firebase'; 
import {AngularFire, FirebaseListObservable} from 'angularfire2'; 

@Component({ 
    template: `<ion-nav [root]="rootPage"></ion-nav>` 
}) 
export class MyApp { 
    @ViewChild(Nav) nav: Nav; 
    public rootPage:any; 
    //ref firebase 
    public semesters:any; 
    public userProfile: any; 
    //user variables 
    public currentUser: any; 
    public id_user:any; 
    public reg_boolean:any="true"; 
    public department:any; 
    public year:any; 
    public semester:any; 
    public semesterdetails:any; 
user = {}; 

    constructor(platform: Platform, public loadingCtrl: LoadingController,public af: AngularFire){ 
    this.af.auth.subscribe(user => { 
     if(user) { 
     this.rootPage = SignupPage; 
     console.log("connected success"); 

     } 
     else { 
     // user not logged in 
     this.user = {}; 
     this.rootPage=LoginPage; 

     } 
    }); 

    } 
} 

мои login.ts

import { Component } from '@angular/core'; 
import {NavController,LoadingController,AlertController } from 'ionic-angular'; 

//import pagess 

import { HomePage } from '../home/home'; 
//import cordova plugins 
import { Facebook } from 'ionic-native'; 
import firebase from 'firebase'; 
/* 
    Generated class for the LoginPage page. 

    See http://ionicframework.com/docs/v2/components/#navigation for more info on 
    Ionic pages and navigation. 
*/ 
@Component({ 
    selector: 'page-login', 
    templateUrl: 'login.html' 
}) 
export class LoginPage { 
    userProfile: any = null; 
    loading: any; 
constructor(public nav: NavController, public alertCtrl: AlertController, public loadingCtrl: LoadingController) {} 
    ionViewDidLoad() { 

    } 
    facebookLogin(){ 
    Facebook.login(['email']).then((response) => { 
     let facebookCredential = firebase.auth.FacebookAuthProvider.credential(response.authResponse.accessToken); 
     var that = this; 
     firebase.auth().signInWithCredential(facebookCredential) 
      .then((success) => { 
      console.log("Firebase success: " + JSON.stringify(success)); 
      that.userProfile = success; 
      console.log(that.userProfile); 
      // that.nav.setRoot(HomePage); // after login in it goes to homepage 

      }) 
      .catch((error) => { 
      console.log("Firebase failure: " + JSON.stringify(error)); 
      }); 

    }).catch((error) => { console.log(error) }); 
    let loader = this.loadingCtrl.create({ 
     dismissOnPageChange: true, 
    }); 

    loader.present(); 
    } 

    GmailLogin(){ 

    } 

} 

Я стараюсь, чтобы проверить, что это моя проблема, но я не нашел каких-либо проблем. Я также проверяю эмулятор android и все те же проблемы.

ответ

1

Это связано с ошибкой в ​​ionic-2 rc4. Происходит, когда установлен dismissOnPageChange: true. Проверьте это issue. Это было исправлено в rc5, поэтому проверьте его.

+0

так, чтобы удалить увольнениеOnpageИзменить? –

+0

@AdirZoari Как я уже упоминал, это ошибка. Итак, вы можете либо вручную уволить его, либо лучше обновить до '' ionic2 rc5'' – raj

+0

okay i update. знаете ли вы, какую команду обновлять? –