SAPUI5:如何在每次访问该路由时销毁其`onInit`函数调用的视图?

时间:2017-03-03 18:09:05

标签: sapui5

当我访问另一条路线时,如何在SAPUI5中移除视图,以便在我再次返回其onInit函数调用时。

我的问题是我想在同一个sap.m.SplitApp对象中加载不同的主要细节应用程序,但问题是我遇到了重复的id。

所以有一种可能性就是我销毁旧内容,而如果我销毁旧内容,我将摆脱重复的id,但是当我想再次访问旧路由时,它说有些元素已经被破坏而且不能再也可以使用了。

所以有一种可能性就是每次访问路线时找到运行onInit函数的方法。

2 个答案:

答案 0 :(得分:0)

您可以查看视图的onBeforeShow()方法。每次显示视图时都会调用此生命周期钩子。你可以在这里做你的操作。见:https://openui5.hana.ondemand.com/#docs/api/symbols/sap.m.NavContainerChild.html。 如果这有帮助,请告诉我。

答案 1 :(得分:0)

而不是销毁你试过sap.m.App.removePage(vPage)?我假设您要从封装容器控件(如App或SplitApp)中删除页面。

在这种情况下,另一种解决方案是在JSONModel中创建一个具有可见性规则的视图。然后每次都用新规则刷新模型。

希望它有所帮助。