SAPUI5:如果在setModel的同一函数中调用,则getModel返回未定义

2020-08-14 21:29发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我试图设置一个模型并在按下某个按...

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

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


我试图设置一个模型并在按下某个按钮后从OData检索它。

问题是,当我在"成功"函数之外调用getModel时,它返回未定义。

因为" onPressButton1"在执行"成功"功能之前完全运行。

那么有什么方法可以确保首先调用"成功"功能? 并在onPressButton1中。

如果我将整个代码放在"成功"函数中,则将无法使用" this"关键字来调用函数" this.fDoThis();"

参考代码:

 onPressButton1:function(){
 var vEntityURL ="/img/CustomerSet(ID ='000')";
 var sServiceUrl ="/img/Customers_SRV/";
 var oServiceModel = new sap.ui.model.odata.ODataModel(sServiceUrl,true);
 var oJsonModel = new sap.ui.model.json.JSONModel();

 oServiceModel.read(vEntityURL,{
 成功:function(oData){
 oJsonModel.setData(oData);
 sap.ui.getCore()。setModel(oJsonModel," Customers");
 }
 });

 var oCustomer = this.getView()。getModel(" Customers");
 console.log(oCustomer.getProperty("/img/Name"));
 }

 
2条回答
xfwsx85
2020-08-14 21:57 .采纳回答

使用V2 odata模型,不建议使用v1。

尝试更改成功处理程序,如下所示。 Add.bind(this)并将模型设置为查看

成功:function(oData){
 oJsonModel.setData(oData);
 this.getView()。setModel(oJsonModel," Customers");
 } .bin(this)

一周热门 更多>