This video tutorial is an update to our previous tutorial Ionic Storage: Ionic 2.
Major Changes To Note
Previously we use to import Storage class inside src/app/app.module.ts file and we would list it as one of the providers. But now we need to import IonicStorageModule class inside src/app/app.module.ts file and list it inside imports array. That’s the only difference in implementing Ionic Storage, everything else is as described in Ionic Storage: Ionic 2 video tutorial.

In this video tutorial only concentrate on src/app/app.module.ts file and for implementing storage set and get method refer Ionic Storage: Ionic 2 video tutorial itself.
Ionic Storage Module In Ionic 2 (Update)
src/app/app.module.ts
import { NgModule, ErrorHandler } from '@angular/core';
import { IonicApp, IonicModule, IonicErrorHandler } from 'ionic-angular';
import { MyApp } from './app.component';
import { HomePage } from '../pages/home/home';
import { IonicStorageModule } from '@ionic/storage';
@NgModule({
declarations: [
MyApp,
HomePage
],
imports: [
IonicModule.forRoot(MyApp),
IonicStorageModule.forRoot()
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
HomePage
],
providers: [
{provide: ErrorHandler, useClass: IonicErrorHandler}
]
})
export class AppModule {} |
Here we import IonicStorageModule class and list it inside imports array. We can also specify database name and database preference as follows:
imports: [
IonicModule.forRoot(MyApp),
IonicStorageModule.forRoot({
name: '__mydbName',
driverOrder: ['sqlite', 'indexeddb', 'websql']
})
] |
Now implementing get and set methods wherever we need it. Practically it would be useful inside a data provider file, but in this tutorial am implementing inside a normal page, so that I keep the complexities out for this basic lesson.
src/pages/home/home.ts
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { Storage } from '@ionic/storage';
@Component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class HomePage {
constructor(public storage: Storage, public navCtrl: NavController) {
this.storage.ready().then(() => {
this.storage.set('myKey', 10);
});
};
getValues(){
this.storage.get('myKey').then((data) => {
if(data != null)
{
console.log(data);
}
});
}; |
Here we import Storage class and create an instance of it. We check if the storage is ready. Once its ready it returns/resolves a promise. So now we can set value using this.storage.set() method. We can set an object, an array or a strong value or simply a number.
We can get the value by using its get method, which returns the value stored in the key as promise. If nothing is stored in the key, it returns null.