// Tutorial //

Using Storage in Ionic 2+

Published on December 4, 2016
    Default avatar
    By Alligator.io
    Developer and author at DigitalOcean.
    Using Storage in Ionic 2+

    Ionic’s LocalStorage is now called simply Storage in Ionic 2+ and behind the scenes Storage decides the best method to store the data. On mobile phones for example, SQLite is the preferred storage method. IndexedDB, WebSQL or localstorage is used in browsers for Progressive Web Apps.

    Storage is the easiest way to save key/value pairs of data or Json objects. Here’s how to use it in your Ionic 2+ apps.

    Installation

    First, install the SQLite Cordova plugin with this command:

    $ cordova plugin add cordova-sqlite-storage --save
    

    Then install Storage. You can skip this step if you’re using a version or Ionic 2 greater than RC0, because Storage is now included automatically:

    $ npm install --save @ionic/storage
    

    Importing + Injecting

    Import it in the appropriate module, the app root module for example:

    Module: app.module.ts
    ...
    import { IonicStorageModule } from '@ionic/storage';
    
    
    

    Then inject it in the components that need it:

    Component: team.ts
    ...
    import { Storage } from '@ionic/storage';
    
    export class TeamPage {
      constructor(public navCtrl: NavController, public storage: Storage) { }
    
    

    Usage

    Now you’re ready to start using Storage’s set, get and remove methods. Let’s use a simple example where we have three methods, one that sets a team as a favorite, one that removes the team from the favorites and one that checks if a team is a favorite:

    Component: team.ts
    fav() {
      this.storage.set(`team ${ this.teamId }`, this.teamName);
      this.favorite = true;
    }
    
    removeFav() {
      this.storage.remove(team ${ this.teamId });
      this.favorite = false;
    }
    
    

    In that example, the isFav method can be used in the ionViewWillEnter page lifecycle hook to determine if a team is already a favorite.


    Want to learn more? Join the DigitalOcean Community!

    Join our DigitalOcean community of over a million developers for free! Get help and share knowledge in our Questions & Answers section, find tutorials and tools that will help you grow as a developer and scale your project or business, and subscribe to topics of interest.

    Sign up
    About the authors
    Default avatar
    Developer and author at DigitalOcean.

    Still looking for an answer?

    Was this helpful?
    Leave a comment