当用户点击Fiori Launchpad中的后退按钮时,我想检查数据更改。我有以下代码
onAfterRendering: function() {
sap.ui.getCore().byId("backBtn").attachPress(this, function(oEvent) {
oEvent.preventDefault();
});
}
在函数中我想访问主控制器的oData和其他变量。但是,当我按下后退按钮时,“this”对象是标题控件的视图。
如何获取页面内容的视图,还可以访问与内容视图关联的控制器的oData和其他参数。
答案 0 :(得分:0)
为了访问当前上下文,您必须在该特定上下文中调用事件处理函数,因此需要对该函数进行绑定。
onAfterRendering: function() {
sap.ui.getCore().byId("backBtn").attachPress(this, function(oEvent) {
oEvent.preventDefault();
}.bind(this));
}
答案 1 :(得分:0)
如果使用sap.m.Page
是一个选项,则可以使用navButtonPress内置事件:
View.xml
:
<mvc:View xmlns="sap.m" xmlns:mvc="sap.ui.core.mvc">
<Page navButtonPress="onNavBack">
...
Controller.js
:
onNavBack: function(oControlEvent) {
var oController = this;
var oView = this.getView();
}
每次在Fiori Launchpad标题中按下按钮时,都会触发事件监听器。