AngularFire
The official library for Firebase and Angular
Status: Release candidate
What is AngularFire?
- Observable based - Use the power of RxJS, Angular, and Firebase.
- Realtime bindings - Synchronize data in realtime.
- Authentication - Log users in with a variety of providers and monitor authentication state in realtime.
- Offline Data - Store data offline automatically with AngularFirestore.
- ngrx friendly - Integrate with ngrx using AngularFire's action based APIs.
Quick links
Stackblitz Template - Remember to set your Firebase configuration in app/app.module.ts
.
Upgrading to v5.0? Check out our guide.
Having troubles? Get help on the Firebase Mailing List (offically supported), the Firebase Community Slack (look for the #angularfire2
room), Gitter, or Stack Overflow.
Install
npm install firebase angularfire2 --save
Example use:
import { Component } from '@angular/core';
import { AngularFirestore } from 'angularfire2/firestore';
import { Observable } from 'rxjs/Observable';
@Component({
selector: 'app-root',
template: `
<ul>
<li *ngFor="let item of items | async">
{{ item.name }}
</li>
</ul>
`
})
export class MyApp {
items: Observable<any[]>;
constructor(db: AngularFirestore) {
this.items = db.collection('items').valueChanges();
}
}
Developer Guide
Getting started
Interacting with your database(s)
Firebase offers two cloud-based, client-accessible database solutions that support realtime data syncing. Learn about the differences between them in the Firebase Documentation.
Cloud Firestore
AngularFirestore
allows you to work with Cloud Firestore, the new flagship database for mobile app development. It improves on the successes of Realtime Database with a new, more intuitive data model. Cloud Firestore also features richer, faster queries and scales better than Realtime Database.
Realtime Database
AngularFireDatabase
allows you to work with the Realtime Database, Firebase's original database. It's an efficient, low-latency solution for mobile apps that require synced states across clients in realtime.