Toutes mes excuses car je ne peux pas penser à un meilleur moyen d’inclure toutes les informations… Lorsque j’exécute cette procédure, j’obtiens une erreur en disant ce qui suit. J'ai suivi les documents ioniques au T, je ne peux pas comprendre ce qui pourrait éventuellement être faux.
Erreur:
Aucun fournisseur pour AngularFireDatabase!
Package.json
App.module.ts
Accueil.html
Home.ts
AngularDatabase
(identique pour AngularAuth) est séparé en son propre module AngularFireDatabaseModule
(AngularFireAuthModule pour AngularAuth) de. version [email protected], voir documentation ici.
vous devez importer AngularFireDatabaseModule
(AngularFireAuthModule for Authentication) dans votre RootModule
.
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
]
})
À l'intérieur de app.module.ts add ci-dessous:
import { AngularFireModule } from 'angularfire2';
import { AngularFireDatabaseModule } from 'angularfire2/database';
Puis importer comme ci-dessous:
@NgModule({
declarations: [
MyApp,
HomePage
],
imports: [
BrowserModule,
IonicModule.forRoot(MyApp),
AngularFireModule.initializeApp(firebaseConfig),
AngularFireDatabaseModule
],
Inside home.ts utiliser comme ci-dessous:
import { AngularFireDatabase, FirebaseListObservable } from 'angularfire2/database';
items: FirebaseListObservable<any[]>;
constructor(public navCtrl: NavController, db: AngularFireDatabase) {
this.items = db.list('/items');
}
Mon info ionique:
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
Assurez-vous que FireBaseDatabaseModule est importé de angularfire2/database-obsolète si vous utilisez FireBaseDatabase de angularfire2/database-obsolète.
et vice versa. Le seul problème est le manque de concordance des instructions d'importation, car elles doivent appartenir au même package
angularfire2/database ou angularfire2/database-obsolète
si vous essayez d'importer la base de données à partir du premier et le module à partir du second package ou vice-versa. Il ne le reconnaîtra pas en tant que DatabaseModule ou Database.
------------ MODULE RACINE -------------
import { AngularFireDatabaseModule } from "angularfire2/database-deprecated"
imports: [
BrowserModule,
RouterModule.forRoot(appRoutes),
FormsModule,
AngularFireModule,
AngularFireDatabaseModule,
AngularFireAuthModule,
AngularFireModule.initializeApp(environment.firebase)
]
------- CLASSE DE SERVICE ------------
import { AngularFireDatabase, FirebaseListObservable } from "angularfire2/database-deprecated";
Ajoutez-le dans le tableau des fournisseurs dans app.module.ts -
imports: [
BrowserModule,
FormsModule,
HttpModule,
RouterModule.forRoot(appRoutes),
AngularFireModule.initializeApp(firebaseConfig)
],
providers: [AuthService,**AngularFireAuth, AngularFireDatabase**, AuthGuard, InventoryService]
J'ai eu cette erreur dans mon application angulaire. Il se trouve que mon importation automatique a importé AngularFirebase
de 'angularfire2/database-deprecated
'. Effacer le -deprecated
a résolu mon problème. Vous voudrez peut-être aussi vérifier vos importations.