Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Sep 4, 2020. It is now read-only.

🔌 A simple wrapper for AngularFire2 to read and write to Firebase while offline, even after a complete refresh.

License

NotificationsYou must be signed in to change notification settings

adriancarriger/angularfire2-offline

Repository files navigation

🔌 A simple wrapper forAngularFire2 to read and write to Firebase while offline, even after a complete refresh.

Build StatusCodecovDependency StatusdevDependency StatusDownloads

Demos

Example Gif

Version Support

The latest version of angularfire2-offline only supports Angular 4. If you would like to upgrade to a more recent version, please try outCloud Firestore which comes with offline support. For more info seeissue #89.

Legacy Versions

Install

npm install angularfire2-offline angularfire2 firebase --save

Setup @NgModule

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';exportconstfirebaseConfig={apiKey:'<your-key>',authDomain:'<your-project-authdomain>',databaseURL:'<your-database-URL>',storageBucket:'<your-storage-bucket>'};@NgModule({declarations:[AppComponent],imports:[AngularFireDatabaseModule,AngularFireModule.initializeApp(firebaseConfig),AngularFireOfflineModule,BrowserModule],bootstrap:[AppComponent]})exportclassAppModule{}

Usage

  • Methods mirror AngularFire2 database methods forobject andlist.

Read Data Offline

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>  `})exportclassMyApp{info:AfoObjectObservable<any>;items:AfoListObservable<any[]>;constructor(afoDatabase:AngularFireOfflineDatabase){this.info=afoDatabase.object('/info');this.items=afoDatabase.list('/items');}}

Write data offline

If writes are made offline followed by a page refresh, the writes will be sent when a connection becomes available.

AngularFire2 Offline specific features

In addition to wrapping most database features fromAngularFire2, a minimal amount of offline specific features are provided:

Offline promises

  • Regular promises - Making a write to Firebase will return a promise as expected. The promise will complete after the data has been saved to Firebase.
  • Offline promises - If you application only needs to know when the write has been saved offline (which will sync on reconnect) you can access the offline promise within the regular promise by callingpromise.offline.then().

Offline promise example

constpromise=this.afoDatabase.object('car').update({maxSpeed:100});promise.offline.then(()=>console.log('offline data saved to device storage!'));promise.then(()=>console.log('data saved to Firebase!'));

Also seeworking with promises

reset - delete offline data

Thereset method is useful for deleting sensitive data when a user signs out of an application. This also helps prevent permission errors when using Firebase auth.

Usereset with caution

If writes are made while offlinereset will delete them before they can reach Firebase.

reset example

onUserSignout(){this.afoDatabase.reset()}

Callingreset on specific references

You canreset a specific Firebase reference by passing the reference string to thereset method

onUserSignout(){this.afoDatabase.reset('my/firebase/ref')}

How it works

  • While online, Firebase data is stored locally (as data changes the local store is updated)
  • While offline, local data is served if available, and writes are stored locally
  • On reconnect, app updates with new Firebase data, and writes are sent to Firebase
  • Even while online, local data is used first when available which results in a faster load

Contributing to AngularFire2 Offline

Pull requests are welcome! If you have a suggested enhancement, pleaseopen an issue. Thanks!

Here is how you can setup a development environment:

Clone repo

  1. git clone https://github.com/adriancarriger/angularfire2-offline.git
  2. cd angularfire2-offline

Setup example

  1. cd examples/angular-cli
  2. yarn
  3. npm start

Setup development environment

  1. Open a new shell/terminal
  2. cd angularfire2-offline
  3. yarn
  4. npm run start-dev

License

angularfire2-offline is licensed under the MIT Open Source license. For more information, see theLICENSE file in this repository.

About

🔌 A simple wrapper for AngularFire2 to read and write to Firebase while offline, even after a complete refresh.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors4

  •  
  •  
  •  
  •  

[8]ページ先頭

©2009-2025 Movatter.jp