2017-05-02 1 views
0

AngularFire je reçois l'erreurfirebase.auth() onAuthStateChanged Aucun fournisseur pour

Uncaught (en promesse): Erreur: Aucun fournisseur pour AngularFire!

Lorsque j'ai essayé d'appeler firebase.auth().onAuthStateChanged. Je ne sais pas pourquoi cela arrive. S'il vous plaît aider.

import { Component } from '@angular/core'; 
import { Platform } from 'ionic-angular'; 
import { StatusBar } from '@ionic-native/status-bar'; 
import { SplashScreen } from '@ionic-native/splash-screen'; 

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

import firebase from 'firebase'; 

@Component({ 
    templateUrl: 'app.html' 
}) 
export class MyApp { 
    rootPage:any = Login; 
    isAuthenticated = false; 

    constructor(platform: Platform, statusBar: StatusBar, splashScreen: SplashScreen) { 
    firebase.initializeApp({ 
     apiKey: "AIzaSyC94rD8wXG0aRLTcG29qVGw8CFfvCK7XVQ", 
     authDomain: "myfirstfirebaseproject-6da6c.firebaseapp.com", 
    }); 

    firebase.auth().onAuthStateChanged(user => { 
     if (user) { 
     this.isAuthenticated = true; 
     this.rootPage = HomePage; 
     } else { 
     this.isAuthenticated = false; 
     this.rootPage = Login; 
     } 
    }); 

    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(); 
     splashScreen.hide(); 
    }); 
    } 
} 
+1

pouvez-vous ajouter app.module.ts? –

+0

Que dois-je ajouter dans le module de l'application? – Jason

+0

Votre projet inclut-il angularfire injecté dans app.module.ts? Vous pouvez coller le contenu de ce fichier comme @suraj demande ci-dessus –

Répondre

0

Votre configuration n'est pas configurée correctement. Vous devriez avoir ce code dans votre app.module.ts, pas dans votre composant.

import { 
    AngularFireModule, 
    AuthMethods, 
    AuthProviders 
} from 'angularfire2'; 

... 

@NgModule({ 
    bootstrap: [AppComponent], 
    declarations: [AppComponent], 
    imports: [ 
     AngularFireModule.initializeApp({ 
      apiKey: '<some-key>', 
      authDomain: '<some-project-authdomain>', 
      databaseURL: '<some-database-URL>', 
      storageBucket: '<some-storage-bucket>' 
     }, { 
      method: AuthMethods.Password, 
      provider: AuthProviders.Password 
     }), 
     BrowserModule, 
     ... 
    ] 
}) 
class AppModule {} 

platformBrowserDynamic().bootstrapModule(AppModule); 

C'est ici que vous devriez avoir le code ci-dessus. Si le fournisseur n'est pas défini, l'erreur persistera.