在SAPUI5中编程本机后退按钮

时间:2017-06-28 06:27:38

标签: cordova sapui5

我正在编写一个SAPUI5应用程序。我已经实现了视图的navButtonPress事件,但是本机(浏览器,android)后退按钮不会触发我的控制器中的功能。有什么建议吗?

P / s:如果我的解释不清楚,我很抱歉。请随时询问更多细节或提供建议。

3 个答案:

答案 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”一章。