使用 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 的信息。
提前致谢:-)
您需要同时导入 Storage
和 LocalStorage
,并且您需要将其添加到您的构造函数中:
this.local = new Storage(LocalStorage);
之前的答案已经过时,这里更新一下。
按照以下步骤操作:
安装存储模块
$ cordova plugin add cordova-sqlite-storage --save
$ npm install --save @ionic/storage
将存储添加到 app.module.ts
import { Storage } from '@ionic/storage';
@NgModule({
...
providers: [
Storage
]
})
export class AppModule {}
用吧:)
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);
})
}
}
上查找更多信息
实际上您还需要等待存储准备就绪
如安装前所述
如果您打算使用 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);
})
});
}
}
我有两个文本字段,必须从它们中获取数据并使用 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 的信息。 提前致谢:-)
您需要同时导入 Storage
和 LocalStorage
,并且您需要将其添加到您的构造函数中:
this.local = new Storage(LocalStorage);
之前的答案已经过时,这里更新一下。
按照以下步骤操作:
安装存储模块
$ cordova plugin add cordova-sqlite-storage --save $ npm install --save @ionic/storage
将存储添加到 app.module.ts
import { Storage } from '@ionic/storage'; @NgModule({ ... providers: [ Storage ] }) export class AppModule {}
用吧:)
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); }) } }
实际上您还需要等待存储准备就绪
如安装前所述
如果您打算使用 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);
})
});
}
}