每次移动到视图时如何调用 onInit()?
How do I invoke onInit() every time I move to a view?
我有一个视图 (View1),它设置了它导航到的视图 (View2) 所需的变量。用户可以返回到 View1 和 select 一个按钮来更改变量,然后单击提交再次转到 View2。
View2 在其 onInit() 方法中调用 OData 服务,并将此变量用作调用的一部分。
如何确保每次导航到 View2 时始终执行此功能?我尝试执行 .destroy() 但这会删除 ID,并且它不能被 View1 重用。
这两个视图是否都存在于 sap.m.NavContainer 或 sap.m.App(派生自它)中?然后你可以使用 NavContainer 在每个 child 上触发的 "beforeShow" 事件(在你的情况下是视图),请参阅
https://openui5.hana.ondemand.com/#docs/api/symbols/sap.m.NavContainerChild.html
(您可以在视图上调用 addEventDelegate(...))
你没有使用路由吧?我认为它会提供足够的钩子。
但是,还要考虑是否可以在您的情况下使用数据绑定。在最简单的情况下,视图 1 只需要更改绑定上下文,ODataModel 会自动更新视图 2 的数据。
我有一个视图 (View1),它设置了它导航到的视图 (View2) 所需的变量。用户可以返回到 View1 和 select 一个按钮来更改变量,然后单击提交再次转到 View2。
View2 在其 onInit() 方法中调用 OData 服务,并将此变量用作调用的一部分。
如何确保每次导航到 View2 时始终执行此功能?我尝试执行 .destroy() 但这会删除 ID,并且它不能被 View1 重用。
这两个视图是否都存在于 sap.m.NavContainer 或 sap.m.App(派生自它)中?然后你可以使用 NavContainer 在每个 child 上触发的 "beforeShow" 事件(在你的情况下是视图),请参阅 https://openui5.hana.ondemand.com/#docs/api/symbols/sap.m.NavContainerChild.html (您可以在视图上调用 addEventDelegate(...))
你没有使用路由吧?我认为它会提供足够的钩子。
但是,还要考虑是否可以在您的情况下使用数据绑定。在最简单的情况下,视图 1 只需要更改绑定上下文,ODataModel 会自动更新视图 2 的数据。