SAPUI5绑定事件

2020-09-27 02:06发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好。 我有一个sap.m.C...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好。

我有一个sap.m.ComboBox,我将项目绑定到其中,并使用绑定事件在检索数据时显示繁忙的指示符(完成后将其隐藏)。 但是,绑定事件也会在选择ComboBox中的列表项时触发,因此我不想显示繁忙指示器。 但是除了事件函数中的ComboBox之外,我什么都不能访问。

我在XML视图中有一个sap.m.ComboBox,在其下方称为oDropDown:

 oDropDown.bindItems({
     路径:ipType,
     模板:this._oTemplate,
     事件:{
         dataRequested:function(oEvent){
             oDropDown.setBusy(true);
         },
         dataReceived:function(oEvent){
             oDropDown.setBusy(false);
         }
     }
 });
 

此代码可以正常工作,显示忙碌指示器并按预期将其隐藏。

但是,由于在组合框中进行选择时也会调用这些事件,因此我希望有一个条件(因为我想在更新列表时显示MessageToast,但在仅进行选择时不显示它 )。

我在" this"(控制器)上设置了一个变量,该变量为true/false,但是事件函数中的" this"与bindItems中的" this"不同。 (在bindItems中," this._oTemplate"使用的是我要使用的" this",但是如果我在dataRequested事件函数中使用" this",那么,如果您得到我,它就是一个不同的" this" ...

即使我使用外部函数,这也是完全相同的问题,

 oDropDown.bindItems({
     路径:ipType,
     模板:this._oTemplate,
     事件:{
         dataRequested:fnOnDataRequested,
         dataReceived:fnOnDataReceived
         }
     }
 }); 

fnOnDataRequested内部的" this"不是" this"(控制器)。

如果在绑定项目之前设置" that = this",则事件函数中的" that"是" undefined"。

希望我能使自己理解,并希望外面有人会知道这样做的方法? 在事件函数内部访问" this"(控制器)。

谢谢,
托马斯