我正在尝试在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'未定义的
答案 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);
},