Upgrading to AngularFire2 4.0
May 8, 2017 ยท View on GitHub
This tutorial will help if you are upgrading an existing AngularFire2 Offline app that is already using AngularFire2 version 2.x.
Not upgrading?
Checkout a full install tutorial for AngularFire2 Offline:
1. Upgrade @NgModule (Diff)
Open /src/app/app.module.ts and add AngularFireDatabaseModule to your imports:
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AngularFireModule } from 'angularfire2';
import { AngularFireOfflineModule } from 'angularfire2-offline';
import { AngularFireDatabaseModule } from 'angularfire2/database';
import { AppComponent } from './app.component';
@NgModule({
declarations: [
AppComponent,
...OtherComponents
],
imports: [
AngularFireDatabaseModule,
AngularFireModule.initializeApp(environment.firebase),
AngularFireOfflineModule,
BrowserModule,
...OtherModules
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
2. Upgrade components (Diff)
Change your import
Add /database to your AngularFire2 Offline import
import { AfoObjectObservable, AngularFireOfflineDatabase } from 'angularfire2-offline/database';
Replace calls to AngularFireOffline.database with AngularFireOfflineDatabase
Before
constructor(afo: AngularFireOffline) {
afo.database.list('foo');
}
After
constructor(afoDatabase: AngularFireOfflineDatabase) {
afoDatabase.list('foo');
}
Full Component
import { Component } from '@angular/core';
import {
AfoListObservable,
AfoObjectObservable,
AngularFireOfflineDatabase } from 'angularfire2-offline/database';
@Component({
selector: 'project-name-app',
template: `
<h1>{{ (info | async)?.name }}</h1>
<ul>
<li *ngFor="let item of items | async">
{{ item?.name }}
</li>
</ul>
`
})
export class MyApp {
info: AfoObjectObservable<any>;
items: AfoListObservable<any[]>;
constructor(afoDatabase: AngularFireOfflineDatabase) {
this.info = afoDatabase.object('/info');
this.items = afoDatabase.list('/items');
}
}
AngularFire2 upgrade guide
Also, checkout the AngularFire2 upgrade guide.