使用 LocalStorage ionic 2

using LocalStorage ionic 2

我有两个文本字段,必须从它们中获取数据并使用 LocalStorage 存储它。 所以这是我已经实现的代码,但它不起作用你能告诉我解决它吗?

在page1.html

<ion-input [(ngModel)]="hour" type="number"  ></ion-input>

 <ion-input [(ngModel)]="min" type="number" ></ion-input>

<button clear (click)="setTime(hours.value,min.value)" item-right >settime</button>

在pag1.ts

export class Page1 {

   public hour;
   public min;
   public local:Storage; 

  constructor(public nav: NavController, translate:TranslateService) {}


 setTime(hour, min){

   if(hour<24 && hour>0 && min>0 && min<61){
       this.local.set('hour',JSON.stringify(hour));
       this.local.set('min',JSON.stringify(min));
   }
   else{
     console.log("OUTOF LIMIT TIME EXCEPTION the values are "+hour+min);
   }
 }

  }

在控制台日志上显示 [Object Object]最后

并且还请告知有关从 localStorage get 的信息。 提前致谢:-)

您需要同时导入 StorageLocalStorage,并且您需要将其添加到您的构造函数中:

this.local = new Storage(LocalStorage);

文档和示例在这里:http://ionicframework.com/docs/storage/

之前的答案已经过时,这里更新一下。

按照以下步骤操作:

  1. 安装存储模块

    $ cordova plugin add cordova-sqlite-storage --save
    $ npm install --save @ionic/storage
    
  2. 将存储添加到 app.module.ts

    import { Storage } from '@ionic/storage';
    
    @NgModule({
    
       ...
    
       providers: [
         Storage
       ]
     })
    export class AppModule {}
    
  3. 用吧:)

    import { Storage } from '@ionic/storage';
    
    export class MyApp {
        constructor(storage: Storage) {
    
        // set        key   value
        storage.set('myKey', 'myVal');
    
        // get value 
        storage.get('myKey').then((val) => {
          console.log(val);
        })
     }
    }
    

http://ionicframework.com/docs/v2/storage/

上查找更多信息

实际上您还需要等待存储准备就绪

如安装前所述

如果您打算使用 sqlite,请先执行此操作

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

如果没有跳过它并继续做

$ npm install --save @ionic/storage

接下来将其添加到您的 NgModule 中的提供程序列表中

import { Storage } from '@ionic/storage';

@NgModule({

 ...

 providers: [
  Storage
 ]
})
export class AppModule {}

然后你可以继续在需要的地方注入它

import { Storage } from '@ionic/storage';

export class MyApp {
constructor(storage: Storage) {

    storage.ready().then(() => {
         // set key   value
         storage.set('myKey', 'myVal');

         // get value 
         storage.get('myKey').then((val) => {
           console.log(val);
         })
    });
  }
}