【发布时间】:2018-07-12 17:38:18
【问题描述】:
我刚刚在我的 ionic 3 应用程序中添加了存储插件(使用 angular 5)。 文档非常简单……至少我是这么认为的。
由于某种原因,我可以完美地存储该值(在调试工具中也可见),但我无法将其读回...
我的代码:
import {Injectable} from '@angular/core';
import {Storage} from '@ionic/storage';
@Injectable()
export class LocalStorageService {
constructor(private storage: Storage) {}
setItem(key: string, value: string | Object | number): Promise<void> {
return this.storage.set(key, JSON.stringify(value));
}
getItem(key: string): Promise<string> {
return this.storage.get(key)
.then((value: any) => {
console.log('---------------------------------------');
console.log(value);
return value;
});
}
removeItem(key: string): Promise<void> {
return this.storage.remove(key);
}
clear(): Promise<void> {
return this.storage.clear();
}
}
我的模块:
NgModule({
declarations: [
...
],
imports: [
...
IonicStorageModule.forRoot(),
...
],
exports: [
...
]
export class GlobalModule {
}
所以我不知道我做错了什么......? 也许是一个旁注,因为我不知道它是否相关。 我已经使用了 ionic 的 SQLite 插件,它工作正常。所以现在我正在尝试添加本地存储来存储简单的数据对......
提前感谢您的帮助。
亲切的问候
【问题讨论】:
-
getItem()下的console.log(value)是空的吗?? -
每次都是这样...当我打开chrome调试工具时,在应用程序->本地存储下,我可以看到具有正确值的键...
-
在你的组件中,你是在调用
setItem()之前调用getItem()吗? -
不,这是我的第一个想法,写作还没有完成。但是我什至在重新启动应用程序时尝试了它(因此变量在上次运行时已经在本地存储中......)。仍然,该值为 null
标签: javascript angular ionic3 local-storage storage