如何重用Odata模型填充第二个视图

2020-09-08 13:30发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们, 我正在创建一个具有2...

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

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


专家们,

我正在创建一个具有2个视图的应用程序。我在Manifest.json中创建了一个名为odata Model的名称为:matDescModel,并且据了解,可以从任何视图访问该模型(我正确)。

现在单击按钮后,我将使用以下后端数据填充此模型:

 var matnr = this.getView()。byId(" __ inp0")。getValue();
 var path =" matDescModel>/GetMatDescSet('" + matnr +"')";
 this.getView()。bindElement(path);
 

我可以在具有绑定的View中查看数据,如下所示:

  

效果很好

现在在View 2上,我正在执行相同类型的绑定:

  

在onInit()中的view 2控制器中具有以下代码:

 var oModel = this.getOwnerComponent()。getModel(" matDescModel");
 this.getView()。setModel(oModel);
 

当我看到view2的oModel时,可以在调试器代码中看到oData,请参见屏幕截图

odata.jpg

但是在视图2上,我没有在屏幕上看到数据,

这是一个有约束力的问题吗? 还是框架只允许绑定一次?

我是否需要从控制器手动进行绑定或如何实现绑定??

致谢

Rakesh

odata.jpg (16.1 kB)
4条回答
huskylover
2020-09-08 13:41

嗨,

我认为这是因为您将模型设置为第二个视图,但没有绑定该视图。

您必须使用与第一个视图相同的路径来绑定视图

 var path =" matDescModel>/GetMatDescSet('" + matnr +"')";
 this.getView()。bindElement(path); 

致谢

Fabrice

一周热门 更多>