每次移动到视图时如何调用onInit()?

时间:2015-04-10 10:40:05

标签: sapui5

我有一个视图(View1),它设置了它导航到的视图(View2)所需的变量。用户可以返回View1并选择一个按钮来更改变量,然后单击“提交”再次转到View2。

View2在其onInit()方法中调用OData服务,并将此变量用作调用的一部分。

如何确保每次导航到View2时始终执行此功能?我尝试使用.destroy()但删除了ID,但View1无法重用它。

1 个答案:

答案 0 :(得分:1)

两个视图是否都位于sap.m.NavContainer或sap.m.App(源自它)中?然后你可以使用NavContainer触发每个孩子的“beforeShow”事件(在你的情况下为View),见 https://openui5.hana.ondemand.com/#docs/api/symbols/sap.m.NavContainerChild.html (你可以在View上调用addEventDelegate(...)

您没有使用路由,对吗?我认为它会提供足够的钩子。

但是,还要考虑是否可以在您的情况下使用数据绑定。在最简单的情况下,View 1只需要更改绑定上下文,ODataModel将自动更新View 2的数据。