使用LocalStorage离子2

时间:2016-05-14 22:15:49

标签: javascript ionic-framework angular ionic2

我有两个文本字段,必须从这两个字段中获取数据并使用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 。 在此先感谢: - )

2 个答案:

答案 0 :(得分:8)

以前的答案已经过时,这是一个更新。

请按照以下步骤操作:

  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);
        })
     }
    }
    
  4. http://ionicframework.com/docs/v2/storage/

    上查找更多内容

答案 1 :(得分:6)

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

this.local = new Storage(LocalStorage);

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