我的应用中存在一个非常大的缓存问题。见SPA (Single-page app) load always from cache
总之,我有一个带有iconTabBar https://openui5.hana.ondemand.com/explored.html#/sample/sap.m.sample.IconTabBar/code的视图。
对于每个标签,我有两个版本的IconTabFilter片段:显示和更改。
在onInit
函数中,我加载所有显示IconTabFilter片段,当用户想要切换到更改模式时,按下按钮,调用removeAllItems;
函数并加载新的新选项卡集(更改片段)
问题是在onInit
函数中加载的片段在HTTP调用中有Cache-Control: max-age=0
,而调用后调用的片段(在onInit外面)没有Cache-Control: max-age=0
。
在此模式下,加载第一页加载后检索的所有更改片段 来自缓存 ...
我在onInit
中解决了加载所有fragmens(显示和更改)的问题,但我不知道这是否正确,因为我可能不想打开更改标签,在这种情况下我无用地加载它们。
我认为我必须在我需要时才加载片段!
答案 0 :(得分:2)
你的最后一句是答案。如果您的应用程序有两个专用状态,则在用户切换到更改状态时加载与更改相关的片段是有意义的。
可能还有其他优化,例如延迟加载IcontTabFilters的内容,或根据更改状态设置IconTabFilters的可见性。但为此需要一个例子。