如何重用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条回答
四川大学会员
2020-09-08 13:59

1)您错了,您的odata模型基于odata服务,而不是您用于view1的实体,您的view1绑定元素意味着odatamodel + entity将会进入后端并提取数据,范围 除非您将其引入其他模型以进行重用,否则仅是当前的当前视图。 还有任何疑问吗? 我建议看一下odatamodel教程。

2)一旦加载了实体数据,就可以使用getProperty()获取数据,是的,如果您想减少后端调用json模型是唯一的方法。

为什么不是全局模型,当您进行元素绑定时,您可以在其中定义更改事件,并且每次都会触发。

一周热门 更多>