当我访问另一条路线时,如何在SAPUI5中移除视图,以便在我再次返回其onInit
函数调用时。
我的问题是我想在同一个sap.m.SplitApp
对象中加载不同的主要细节应用程序,但问题是我遇到了重复的id。
所以有一种可能性就是我销毁旧内容,而如果我销毁旧内容,我将摆脱重复的id,但是当我想再次访问旧路由时,它说有些元素已经被破坏而且不能再也可以使用了。
所以有一种可能性就是每次访问路线时找到运行onInit
函数的方法。
答案 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中创建一个具有可见性规则的视图。然后每次都用新规则刷新模型。
希望它有所帮助。