当前位置: 首页 > 知识库问答 >
问题:

Ionic 4-Angular 6:如何控制Ionic路由器历史记录以停止缓存视图组件?

茅桐
2023-03-14

也许我错过了什么,但我遇到了以前访问过的Ionic缓存视图的问题,阻止了Angular重新初始化组件。组件从某个缓存中提取并呈现为以前存在的任何数据。

示例:

用户A登录到应用程序,并在“主页”上启动与用户A相关的信息。用户A注销并导航到“登录”。

用户B从同一应用程序登录并导航到“主页”。爱奥尼亚·西(Ionic see)的主页之前(由用户A)访问过,视图不是实例化“主页”,而是从缓存中提取并显示用户A正在访问的所有内容。

我注意到ion路由器出口在导航时添加了页面转换,当导航“向前”时,这种转换会切换到左侧,当导航“向后”时向右滑动。这些数据似乎是从存储缓存视图的同一历史源读取的。

TL;DR如何控制爱奥尼亚路由器历史(url树)缓存视图,防止angular重新初始化组件?

共有3个答案

洪永长
2023-03-14

如果URL没有更改,则不会调用ionViewWillEnter()。更改查询字符串在这里也没有帮助。我找到的唯一解决方法是在路由中添加一个可变参数-例如。

改变

https://localhost:8100/profile?id=123 

https://localhost:8100/profile/123

当123更改时,将调用ion ViewWillEnter并破坏缓存。显然您需要相应地更改路由表

 const routes: Routes = [
 {      
    ...
    {
                path: 'profile/:id',
                component: ProfileComponent,
                pathMatch: 'full',
              },
        ...
闾丘昊然
2023-03-14

我使用Ionic的生命周期挂钩来激发所需的行为,从而解决了我的问题,因为Ionic在以前访问时不会从堆栈中销毁og init角度组件。这是一个较长的主题,似乎Ionic stack control中的某些内容还没有完全固定。以下是我现在例行实施的使事情正常运行的挂钩:

  1. 恩戈尼特
岳朝
2023-03-14

2天前有类似问题。我现在正在使用ionic lifecycle挂钩ionViewWillEnter。通过强制这个钩子中的逻辑,我实现了我想要的结果。让我知道这是否有用:)

 类似资料:
  • 我在从React路由器v3迁移到v4时遇到了一些小问题。在v3中,我可以在任何地方执行此操作: 如何在v4中实现这一点。 我知道,当您在组件中时,我可以使用hoc、react context或event router道具。但我不是这样。 我正在寻找v4中组件的外部导航的等价性

  • 问题内容: 我正在从本教程中学习,但始终收到此错误: “ react-router”不包含名为“ browserHistory”的导出。 具有react-router的文件是这样的: 问题答案: 您现在需要从历史记录模块中获取。 请注意,他们最近更改了模块API,因此,如果您使用的是最新版本,则导入会稍有变化:

  • 我正在爱奥尼亚4中创建一个注销页面,我想要的是清除路由器历史记录,以便“后退”按钮不起作用,另外,我想知道在导航到登录屏幕或导航到登录页面之前,如何销毁注销页面。 我尝试运行构造函数中的代码以清除本地存储,第一次运行正常,但第二次没有运行该代码。据我了解,该页面已经加载,因此不会再次运行构造函数。我尝试将我的代码放在ngDoCheck()中,但它触发了多次,我不想要。 我想清除路由历史记录,以便在

  • 本文向大家介绍如何禁止input输入的历史记录?相关面试题,主要包含被问及如何禁止input输入的历史记录?时的应答技巧和注意事项,需要的朋友参考一下 有时 autocomplete 属性不生效时,可以使用一些 hack 的方法,比如先把 input 设置成 readonly 或者 disabled,再动态移除 readonly 和 disabled 属性

  • 读取播放历史信息 调用地址 http://api.bilibili.cn/history 返回 返回值字段 字段类型 字段说明 results int 返回的记录总数目 list object 返回数据 返回字段 “list” 子项 返回值字段 字段类型 字段说明 aid int 视频编号 typeid int 视频分类ID typename string 视频分类名称 title string

  • 历史记录 控制台维护 Elasticsearch 成功执行的最后500个请求列表。点击窗口右上角的时钟图标即可查看历史记录。这个图标会打开历史记录面板,您可以在其中查看历史请求。您也可以在这里选择一个请求,它将被添加到编辑器中当前光标所在的位置。 图 9. 历史记录面板