我正在编写一个SAPUI5应用程序。我已经实现了视图的navButtonPress
事件,但是本机(浏览器,android)后退按钮不会触发我的控制器中的功能。有什么建议吗?
P / s:如果我的解释不清楚,我很抱歉。请随时询问更多细节或提供建议。
答案 0 :(得分:1)
您不必指望您在控制器中的功能将在按下本机按钮时触发。一旦用户按下应用程序内的“后退按钮”(例如在“页面”控件中),您的功能就会被触发。
当用户点击“原生”按钮时,将会发生标准history traveling,您无法控制(至少是浏览器的后退按钮)。
答案 1 :(得分:0)
您是否在视图中设置了此项,例如
...
<Page
navButtonPress="onNavButton"
showNavButton="true"
...
并且在相应的控制器中,例如
sap.ui.define([
"sap/ui/core/routing/History"
...
], function (History, ...) {
...
onNavButton: function(oEvent) {
var oHistory, sPreviousHash;
oHistory = History.getInstance();
sPreviousHash = oHistory.getPreviousHash();
if (sPreviousHash !== undefined) {
window.history.go(-1);
} else {
this.getRouter().navTo("yourStartPage", {}, true);
}
},
...
答案 2 :(得分:0)
您必须基于URL的哈希部分实现导航,以便具有与浏览器后退按钮和应用程序后退按钮相同的行为。 查看SAP UI5教程中的“Navigation and Routing”一章。