2016-05-14 9 views
2

У меня есть два текстовых поля и вам необходимо взять данные из них и сохранить их с помощью LocalStorage. Итак, вот код, который я реализовал, но он не работает, можете ли вы сказать мне, чтобы он его разрешил.using LocalStorage ionic 2

в 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. Заранее спасибо :-)

ответ

4

Вы должны импортировать как Storage и LocalStorage, и вам нужно добавить это к вашему конструктору:

this.local = new Storage(LocalStorage); 

Документов с и примером здесь: http://ionicframework.com/docs/storage/

+0

oh..thanks..works как шарм :-) –

+1

Пожалуйста, добавьте новую ссылку, больше не можете найти ресурс. – MattJ

+0

Или вы можете найти документы, найти новую ссылку и обновить комментарий –

7

Предыдущий ответ устарел, вот ОБНОВЛЕНИЕ.

Выполните следующие действия:

  1. Установить модуль хранения

    $ cordova plugin add cordova-sqlite-storage --save 
    $ npm install --save @ionic/storage 
    
  2. Добавить хранение в app.module.ц

    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/

+0

Хорошо! Как получить значение переменной? console.log() работает, но не взамен, переменная, ничего ... –

1

На самом деле вам нужно ждать для хранения, чтобы быть готовым, а также

Так, как указано перед установкой л он

, если вы собираетесь использовать 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); 
     }) 
    }); 
    } 
} 
Смежные вопросы