web-dev-qa-db-de.com

Kein Anbieter für AngularFireDatabase, AngularFireAuth

Entschuldigung, da ich mir keine bessere Möglichkeit vorstellen kann, alle Informationen einzubeziehen. Ich bin den Ionic Docs bis zum T gefolgt, ich kann nicht herausfinden, was möglicherweise falsch ist.

Error:

Kein Anbieter für AngularFireDatabase!

Error

Package.json Package

App.module.ts App.Module

Home.html Home HTML

Home.ts Home TS

23
Slabach

AngularDatabase (gleich für AngularAuth) wird von .__ aus ihrem eigenen Modul AngularFireDatabaseModule (AngularFireAuthModule for AngularAuth) getrennt. Version [email protected], siehe Dokumentation hier.

sie sollten AngularFireDatabaseModule (AngularFireAuthModule for Authentication) in Ihre RootModule importieren.

import { AngularFireModule } from 'angularfire2';
// for AngularFireDatabase
import { AngularFireDatabaseModule } from 'angularfire2/database';
import { AngularFireDatabase, FirebaseObjectObservable } from 'angularfire2/database';
// for AngularFireAuth
import { AngularFireAuthModule } from 'angularfire2/auth';
import { AngularFireAuth } from 'angularfire2/auth';

@NgModule({
  imports: [
    AngularFireModule.initializeApp({         <---- main module
      apiKey: ...,
      authDomain: '...',
      databaseURL: '...',
      storageBucket: '...',
      messagingSenderId: '...'
    }),                                       
    AngularFireDatabaseModule,                <---- for database 
    AngularFireAuthModule                     <---- for auth
  ]
})
58
Pengyy

In app.module.ts unten hinzufügen:

import { AngularFireModule } from 'angularfire2';

import { AngularFireDatabaseModule } from 'angularfire2/database';

Dann importieren Sie wie folgt:

@NgModule({
  declarations: [
    MyApp,
    HomePage
  ],
  imports: [
    BrowserModule,
    IonicModule.forRoot(MyApp),
    AngularFireModule.initializeApp(firebaseConfig),
    AngularFireDatabaseModule
  ],

In home.ts wie folgt verwenden:

import { AngularFireDatabase, FirebaseListObservable } from 'angularfire2/database';

items: FirebaseListObservable<any[]>;

  constructor(public navCtrl: NavController, db: AngularFireDatabase) {
        this.items = db.list('/items');
  }

Meine ionischen Informationen:

Ionic Framework: 3.1.1
Ionic App Scripts: 1.3.7
Angular Core: 4.0.2
Angular Compiler CLI: 4.0.2
Node: 6.10.1
OS Platform: macOS Sierra
13
Sunil Kumar

Stellen Sie sicher, dass FireBaseDatabaseModule aus anglefire2/database-veraltet importiert wird, wenn Sie FireBaseDatabase aus anglefire2/database-veraltet verwenden

und umgekehrt. Das einzige Problem ist die Unstimmigkeit von Importanweisungen, da sie ebenfalls zu demselben Paket gehören müssen 

anglefire2/database oder anglefire2/database-deprecated

wenn Sie versuchen würden, die Datenbank aus dem ersten und das Modul aus dem zweiten Paket oder umgekehrt zu importieren. Es erkennt es nicht als DatabaseModule oder Database.

------------ ROOT MODUL -------------

    import { AngularFireDatabaseModule } from "angularfire2/database-deprecated"
    imports: [
        BrowserModule,
        RouterModule.forRoot(appRoutes),
        FormsModule,
        AngularFireModule,
        AngularFireDatabaseModule,
        AngularFireAuthModule,
        AngularFireModule.initializeApp(environment.firebase)    
]

------- SERVICEKLASSE ------------

import { AngularFireDatabase, FirebaseListObservable } from "angularfire2/database-deprecated";
6
Amrit Pal Singh

Fügen Sie es im Provider-Array in app.module.ts hinzu -

  imports: [
    BrowserModule,
    FormsModule,
    HttpModule,
    RouterModule.forRoot(appRoutes),
    AngularFireModule.initializeApp(firebaseConfig)
  ],
  providers: [AuthService,**AngularFireAuth, AngularFireDatabase**, AuthGuard, InventoryService]

Ich hatte diesen Fehler in meiner Angular-Anwendung. Es stellt sich heraus, dass mein Auto-Import AngularFirebase aus 'angularfire2/database-deprecated' importiert wurde. Das Löschen des -deprecated hat mein Problem behoben. Möglicherweise möchten Sie auch Ihre Importe überprüfen.

0
Alf Moh