Sapui5 如何在没有oEvent的情况下调用方法
如何从控制器的方法调用事件处理程序Sapui5 如何在没有oEvent的情况下调用方法,sapui5,Sapui5,如何从控制器的方法调用事件处理程序 BtnTap:功能(oEvent){ 控制台日志(“按钮点击”); }, doSomething:function(){ BtnTap(); }, 我希望从控制器中的另一个函数调用相同的BtnTap()。 似乎不可能从另一个函数访问oEvent。直接调用事件处理程序并不是那么优雅。也许您可以将事件处理程序中的逻辑提取到另一个函数 BtnTap: function(oEvent) { console.log("Button Tap");
BtnTap:功能(oEvent){
控制台日志(“按钮点击”);
},
doSomething:function(){
BtnTap();
},
我希望从控制器中的另一个函数调用相同的BtnTap()
。似乎不可能从另一个函数访问
oEvent
。直接调用事件处理程序并不是那么优雅。也许您可以将事件处理程序中的逻辑提取到另一个函数
BtnTap: function(oEvent) {
console.log("Button Tap");
this.btnTapHelper();
}
btnTapHelper: function() {
//logic here
}
doSomething : function() {
this.btnTapHelper();
}
我通常会说,您通过事件总线在控制器之间进行通信。因此,您将在直接控制器中捕获tap事件,并提交另一个事件,然后在另一个控制器中捕获该事件 用于捕获事件的控制器具有以下功能:
sap.ui.getCore().getEventBus().subscribe('submitSomething', eventID, this.reactToSomething, this);
发射器的点击方式如下:
eventBus.publish('submitTmpData', eventID);
前面提到的捕获控制器的事件处理程序如下所示
reactToSomething: function(type, eventid){
...
},
您还可以将自定义数据添加到事件中
干杯
Michael可能重复的