SAP UI5关闭问题

2020-08-15 21:57发布

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

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


嗨,

我在使用oData模型读取记录的控制器中有以下代码。 在成功函数中,我试图访问外部函数变量" that"。 但是我收到错误" 未捕获的ReferenceError:未定义"。 我无法确定问题。 您能告诉我我所缺少的吗? 感谢您的帮助

Ravikanth,问候

 onRouteMatched:函数(){
 调试器;
 var oModel = this.getOwnerComponent()。getModel(" PES");
 var path ="/img/DEFAULTSSet('ABCD')";
 var that = this;
 oModel.read(path,{
 异步:错误,
 成功:函数(oData){
 that.getOwnerComponent()。getModel(" defaults");
 },
 错误:函数(oError){
 }
 });
 },
 

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

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


嗨,

我在使用oData模型读取记录的控制器中有以下代码。 在成功函数中,我试图访问外部函数变量" that"。 但是我收到错误" 未捕获的ReferenceError:未定义"。 我无法确定问题。 您能告诉我我所缺少的吗? 感谢您的帮助

Ravikanth,问候

 onRouteMatched:函数(){
 调试器;
 var oModel = this.getOwnerComponent()。getModel(" PES");
 var path ="/img/DEFAULTSSet('ABCD')";
 var that = this;
 oModel.read(path,{
 异步:错误,
 成功:函数(oData){
 that.getOwnerComponent()。getModel(" defaults");
 },
 错误:函数(oError){
 }
 });
 },
 
付费偷看设置
发送
5条回答
蓋茨
1楼 · 2020-08-15 22:21.采纳回答

Ravikanth,您好

尝试将您的方法与此绑定:

 oModel.read(path,{
 异步:错误,
 成功:功能(oData){
 this.getOwnerComponent()。getModel(" defaults");

 } .bind(this),
 error:function(oError){}}); 
SAP小菜
2楼-- · 2020-08-15 22:31

感谢Prashil。 .bind(this)正在工作,但是我试图使用闭包,因为这样我就可以访问外部函数中的所有其他变量。 当然,我们可以将所有需要的变量作为此变量的一部分,但这意味着要挤占该变量。

四川大学会员
3楼-- · 2020-08-15 22:31

也许是因为onRouteMatched。

在传递函数onRouteMatched时,按如下所示传递onRouteMatched.bind(this)或显式传递" this"以实现如下所示的功能

https://help.sap。 com/doc/saphelp_uiaddon20/2.05/zh-CN/f9/6d2522a5ca4382a274ae3c6d002ca0/frameset.htm

以同样的方式,您不需要将此传递给您,您可以像下面这样

成功:function(){

}。bind(this)

黑丝骑士
4楼-- · 2020-08-15 22:20

嗨,Mahesh,

再次感谢您的关注。 在分配" var that = this"时以及在" oModel.read"调用之前,此变量具有视图引用。 实际上,oModel本身是使用此变量(" this.getOwnerComponent()。getModel(" PES");"。)创建的。

到目前为止,我将继续使用.bind(this)变体。

谢谢

Ravikanth

spaceman01
5楼-- · 2020-08-15 22:33

嗨,Ravikanth,

我相信外部函数中的大多数变量在成功回调中仍然应该可用。 这意味着oRouteMatched函数变量也应该可用,除非使用了参数。

对于参数,您仍然可以将此参数保存在外部函数中作为局部变量,并且应该能够访问内部函数中的局部变量。

谢谢

芦笋

一周热门 更多>