问题标签 [ionic-storage]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
219 浏览

ionic-framework - 使用离子存储的存储不是持久的

我正在尝试利用 Ionic Storage 库来跟踪我的应用程序的设置。但是,我遇到了一个问题,每次重新启动应用程序时,存储都会被擦除。至少,看起来是这样的。

我正在存储数据:

并试图检索:

如果我不退出应用程序,则可以检索数据。但是如果我退出并重新打开,数据就消失了。据我所知,它正在使用 SQLite(在 XCode 中构建和测试时根据调试消息)。

0 投票
1 回答
35 浏览

typescript - 离子存储将预期数组作为字符串返回

我将 ID 存储在存储中。

参见示例: 在此处输入图像描述

我将存储存储到本地字符串 [];

问题是当我尝试将新 ID 推送到存储时。

我收到一个错误,提示方法 push 在 ID 上不存在。

ERROR 错误:未捕获(在承诺中):TypeError:ids.push 不是函数 TypeError:ids.push 不是函数

如何将 ids 转换为字符串 [] 以便在再次设置存储之前将新项目推送到 ids?

0 投票
2 回答
829 浏览

angular - 如果密钥存在于离子存储中,如何使用 * ngIf 显示按钮

我正在开发一个简单的在线应用程序,下面是 json。

json

然后离子卡显示数据。

卡的图像

这是html。

我有方法(1)将数据保存到离子存储,(2)检查存储密钥是否存在,(3)删除存储密钥。
如果存储密钥不存在,我想要完成的是隐藏删除按钮。我已经使用 checkForKey() 方法尝试了一个 *ngIf 语句,但这只是进入了一个无限循环。我也尝试过 ngShow,但这对我也不起作用。任何帮助将不胜感激。

ts

0 投票
0 回答
33 浏览

ionic-framework - 在 Ionic4 中,离子数据存储在手机中不起作用

我附上了仪表板的图像,我将令牌值存储在离子数据存储中并显示在仪表板中。虽然我在浏览器中看到它的显示,但在移动设备中它没有显示

移动仪表板图像

系统仪表板图像

我还附上了从离子存储中存储和获取值的代码

将响应值存储到 Ionic Storage

从 Ionic Storage 获取值

//获取值

在 Html 在 p 标记中显示此值 {{tokens1}} 200.00

0 投票
0 回答
70 浏览

angular - Ionic 4:如果我清除设备上的应用程序构建(IOS/Android),它会再次要求我重新登录

Ionic 4:如果我在设备上清除应用程序构建(IOS/Android),它会再次要求我重新登录并删除会话,但如果我在网络浏览器上登录,会话处于活动状态,我可以看到身份验证令牌和登录信息。我使用离子存储源。对于移动设备要做什么,需要使用 SQLite 的建议,但我对如何保存和制作用户详细信息以跳过登录页面感到困惑。等待您的建议和代码示例,使用 Rest-API 保持登录会话在移动设备上处于活动状态。这个应用程序的动机是只在移动设备上工作,而不是在网络上(PWA)。

0 投票
3 回答
422 浏览

android - 如何通过 Ionic 从我的应用程序中删除用户数据?

我有一个使用 IonicStorage 和IndexDb的 Ionic 4 应用程序。用户将拍摄一些照片,这些照片将保存在存储中。该过程完成后,如果用户查看应用程序设置将看到如下内容:

在此处输入图像描述

问题:当用户尝试再次登录时,用户数据必须被擦除、清除。我试图通过从存储中调用 clear 方法来删​​除数据。

我还在 config.xml 中添加了这些标志……但没有成功。我抹不掉

你能给我一些建议吗?泰

0 投票
1 回答
480 浏览

angular - 在重新加载页面之前,Ionic Storage 值不会显示在 HTML 上

在页面重新加载之前,Ionic Storage 值不会显示在 HTML 上。我调查了其他一些遇到同样问题的人,但由于 Ionic 版本的变化,我发现的解决方案要么不起作用,要么不再起作用。一个例子是 Ionic 中的事件系统。

HTML:显示名称和两个日期

.TS

当我第一次加载路由页面时

在此处输入图像描述

当我更改路由页面时,请返回原始页面。

在此处输入图像描述

0 投票
3 回答
232 浏览

angular - 如何在 Ionic/Angular 中使用保存的数据?

我只能在this.storage.get函数内部使用我的变量。

如何获取此保存的数据?

tab2.page.html:

tab2.page.ts:

0 投票
0 回答
118 浏览

angular - 每次我关闭和打开应用程序时都会加载 Ionic 4 主页

当用户提交名称时,它会保存在移动设备的本地存储中并重定向到第二页,但用户关闭并重新打开它从第一页加载的应用程序。下面是我的代码。

这是我的 Auth Guard 代码

这个是路由

];

这是第一个页面提交事件。

0 投票
3 回答
1889 浏览

angular - 如何使用离子存储而不是 Promise 从角度​​服务中获得承诺的结果作为回应

Ionic Storage用于本地存储目的。要使用我创建的存储service,我有 getter 和 setter 存储方法。

我想检查应用程序的负载,是否有任何值在存储中可用,如果值在存储中不可用,而不是只想进行实际数据调用并将设置为存储,但下次病房想从存储而不是实际获取数据。

现在的问题是当我的组件被加载时,我正在调用服务的storage.get方法,这需要时间,因为该组件的属性没有设置为实际存储的正确值。

此外,用于从服务返回字符串值的方法不允许在没有最终返回语句的情况下编写方法,如下面的代码中所述[现在我已经从 Promise 添加了两个返回语句,这对我来说似乎不是正确的设计,但没有我收到编译错误],并且由于 Promise 从存储中获取响应所花费的时间,两个返回语句都在不同的时间间隔执行,这会导致存储中的实际响应过度疲劳。

我不确定如何从 Promise 管理这种情况,因为默认情况下离子存储返回 Promise。

请让我知道如何在组件中保持执行,直到我从上面使用 Promise 的服务调用得到响应,所以核心组件的逻辑可以正常工作,还想要正确的方法来实现我想要结果的服务层string来自 Promise 而不是promise<any>.