gpt4 book ai didi

javascript - 是否可以清除 Ionic 中的 View 缓存?

转载 作者:IT王子 更新时间:2023-10-29 03:07:31 29 4
gpt4 key购买 nike

我目前正在从事 Angular/Ionic/Cordova 项目,我们最近升级到了最新的 Ionic beta。从项目之前使用的版本来看,这引入了 View 缓存。然而,这样做也带来了一个问题。

该应用程序面向客户并且非常以数据为中心。然而,目前用户必须进行身份验证才能查看与其帐户关联的数据;当用户注销并登录到另一个帐户时,因为 View 仍被缓存,他们会看到最后一个帐户的 View 。

当用户登录时,应用程序仍应缓存 View ,因为这有助于使应用程序感觉更快,但应在用户注销时清除缓存。

设置 cache-view="false" 不是一个选项,因为它会完全禁用缓存。

我也试过设置 $ionicConfig.views.maxCache(0); 然后回到默认值 10,希望这样做能清除缓存,但它有没有影响。

我能想到的最后一件事是在用户登录时触发事件以刷新当前加载到 View 中的所有数据 - 但是,这比我认为应该花费更多的努力。

有没有办法简单地清除 View 缓存?

最佳答案

在 app.js 的状态定义中,您可以添加 cache:false 以禁用缓存(请参阅 Ionic 文档中的 Disable cache within state provider。或者,您可以保持缓存,除非您知道数据已更改.

  • 如果您已经在页面上,您可以执行 $state.go($state.currentState, {}, {reload:true})
  • 如果你在另一个状态,想回到通常缓存的状态,但你想刷新它,你可以这样做,$ionicHistory.clearCache().then(function(){ $state.go('app.fooState') })

注意,后者需要 clearCache 返回一个 promise 。查看我在此拉取请求中所做的更改,并将您现在拥有的 clearCache 实现与我的进行比较:https://github.com/driftyco/ionic/pull/3724

关于javascript - 是否可以清除 Ionic 中的 View 缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28676631/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com