无法读取未定义的 属性 'navTo'

Cannot read property 'navTo' of undefined

我正在尝试在部署在 Fiori 上的 sapui5 应用程序中做一个导航按钮

_onPageNavButtonPress: function () {
        var oHistory = History.getInstance();
        var sPreviousHash = oHistory.getPreviousHash();

        if (sPreviousHash !== undefined) {
            window.history.go(-1);
        } else {
            var oRouter = sap.ui.core.UIComponent.getRouterFor(this);
            oRouter.navTo("default", true);
        }

    },

但是当我在控制台中单击 nave 按钮时显示 Cannot read 属性 'navTo' of undefined

您确定 this 指向正确的范围吗? 如果我没记错的话,当事件被触发时,this 指向组件范围。

在这段代码中,类似的东西对我有用:https://jsbin.com/doxopodule/edit?html,output

onInit: function() {
    this.oRouter = UIComponent.getRouterFor(this.getView());
},

_onPageNavButtonPress: function () {
    var oHistory = History.getInstance();
    var sPreviousHash = oHistory.getPreviousHash();

    if (sPreviousHash !== undefined) {
        window.history.go(-1);
    } else {
        this.oRouter.navTo("default", true);
    }
}

我解决了

下面是新代码

onInit: function(){
          var oRouter = sap.ui.core.UIComponent.getRouterFor(this);
        },

        onBack: function(){
        var oHistory = sap.ui.core.routing.History.getInstance();
        var sPreviousHash = oHistory.getPreviousHash();
        window.history.go(-1);
        },