SAP UI5如何获取函数中的值

2020-09-07 11:46发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我需要从oDataM...

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

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


大家好,

我需要从oDataModel.read()获取值。 我该怎么办?

 var mModify = {};

 oDataModel.read(path,{
 成功:功能(数据,响应){
 mModify.DESCRIPTION = odata.DESCRIPTION;
 MessageBox.show(mModify.DESCRIPTION +" Odatamodel");//没关系
 }
 });
        MessageBox.show(oDataModel.DESCRIPTION);//这是空的。
        MessageBox.show(odata.DESCRIPTION);//这不起作用。
        MessageBox.show(mModify.DESCRIPTION);//这是空的。
 

我想从odataModel中获取数据,并将其放入mModify {}

先谢谢您

LEI

2条回答
CJones
2020-09-07 12:08 .采纳回答

您好 HANG LEI

您可以在社区中找到类似的问题 已经被回答了。 我想我回答了几个:D

实际上这是由于odata请求的异步处理(有关更多信息的Google)。 因此,发生的情况是,如果您调用read函数,则该请求将在内部注册,并将立即转到您编写了MessageBox代码的下一行。 现在,一旦执行完代码,便会发送请求并调用成功处理程序函数,这就是函数内部消息框代码起作用的原因。

为解决此问题, 首先将代码更改为以下

 ......
 ......
 成功:功能(数据,响应){
                            this.modifyData = odata;
                           //或最好的方法是将其设置为模型
                            this.getView()。getModel(" updateModel")。setData(odata);
 } .bind(this)//=>这是必需的,因此您可以访问控制器实例,在Google上搜索以获取更多信息

请确保在init中创建名称为" updateModel"的json模型

BR,

Mahesh

一周热门 更多>