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

时间:2017-04-20 17:52:23

标签: javascript sapui5 sap-fiori

我正在尝试在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按钮时显示无法读取属性' navTo'未定义的

2 个答案:

答案 0 :(得分:0)

您确定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);
    }
}

答案 1 :(得分:0)

我解决了。

以下是新代码

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);
        },