目前,我正在使用 Angular 9(单页应用程序)开发 Ionic 5 应用程序,并且在路由/组件缓存方面遇到了一些问题(至少我是这么认为的),需要一些帮助。我将尽我所能解释我的情况,以便您了解我正在与之斗争的概念和问题。
我有一页上有 2 个<ion-tab-bar>
控件/选项卡(活动和非活动)。在“活动”选项卡上,我列出了我的数据库中在数据库中设置了“活动”标志的产品,而在“非活动”上,我列出了相反的产品。在这些选项卡上,产品以面向列表的方式显示,样式为卡片/卡片组件。
单击卡片后,我将用户导航到显示产品详细信息的新页面 (/active/:id)。除其他功能外,还有一个将产品标记为非活动状态的按钮。通过单击此按钮,我正在进行 api 调用,它将产品在数据库中标记为非活动。此外,此页面包含一个<ion-back-button>
按钮组件,可让我回到上一页。
问题
我的问题是,当我将产品标记为非活动时,它会更改其在数据库中的状态,但是当我单击后退按钮并返回活动选项卡时,我标记为非活动的产品仍在活动选项卡下,我注意到没有调用任何生命周期方法,也没有执行 api 调用以刷新列表。
在此之后,当我转到非活动选项卡时,现在我的产品显示在此处,当我再次切换到活动选项卡时,它不再位于活动选项卡下,这是我最初所期望的。
这种行为不仅在我浏览后退按钮时发生,而且在我浏览标题导航时也会发生(因此,我认为这与从位置历史中呈现页面无关)。
我在下面发布了一张图片,它在视觉上代表了这个问题。
任何建议/指南将不胜感激。提前致谢。