Routing 详细信息更改前显示弹出窗口
我正在使用WEB IDE中的主细节模板(包括路由等)开发类似SAP FIORI的应用程序。在“细节”视图中有一些分段按钮,用户使用这些按钮来评估产品质量 我需要的是在用户导航到其他详细信息(从master2列表中选择其他项目,或返回master1视图)之前检查是否选择了(更改)任何按钮。如果是,则应显示弹出窗口以确认退出,而不保存结果 我尝试在“master2”视图中使用“onSelect”功能,但:Routing 详细信息更改前显示弹出窗口,routing,sapui5,sap-fiori,Routing,Sapui5,Sap Fiori,我正在使用WEB IDE中的主细节模板(包括路由等)开发类似SAP FIORI的应用程序。在“细节”视图中有一些分段按钮,用户使用这些按钮来评估产品质量 我需要的是在用户导航到其他详细信息(从master2列表中选择其他项目,或返回master1视图)之前检查是否选择了(更改)任何按钮。如果是,则应显示弹出窗口以确认退出,而不保存结果 我尝试在“master2”视图中使用“onSelect”功能,但: 我现在不知道如何从当前详细信息中读取值(检查是否有任何更改(选中)) 如何防止在master2
我应该在哪个视图中使用哪个事件?您需要执行以下操作: 1.捕捉变化 在按钮上的更改/活动中,您需要将标志(例如
dataChanged
)设置为app级别,以便您知道用户已跨视图编辑了某些内容。
对于按钮
,可以使用事件捕获<代码>//tap不推荐使用
对于列表,请使用事件
2。详细处理布线,也可以在master2视图中处理布线
详细地说,和master2页面使用了onRouteMatched
方法。在路由之前,您知道标志和路由名称。你可以选择你想要的行动。
例如:
onRouteMatched : function(oEvent) {
var sName = oEvent.getParameter("name");
//Open popup for confirmation based on sName and dataChanged values.. Better make this as reusable so that you can reuse.
}
请注意,正如您已经提到的,有两种可能性。
用户导航到不同的主视图或导航中的新项目
主列表2。这两种情况都必须处理onRouteMatched
最好的处理方法
你能提供代码片段吗?你是使用App.to使用路由还是导航?我使用MyRouter的路由,如下所示: