Odata 如何利用导航属性?

Odata 如何利用导航属性?,odata,sapui5,Odata,Sapui5,OData服务(V2)包含多个导航属性,如下所示: 如上所示,到_IClassHeaderVh和到_iclasshvh是导航属性。 请求OData服务的代码: oModel.read(苏里、{ 成功:功能(oData){ }, 错误:Util.batherRorClassNotFound }); 如何通过代码从导航属性获取URL?我可以通过以下对象获得它: oData.to\u IClassVh.\u\u deferred.uri 但我不知道这是否正确。导航属性,顾名思义,是可以导航到相关实

OData服务(V2)包含多个导航属性,如下所示:

如上所示,
到_IClassHeaderVh
到_iclasshvh
是导航属性。
请求OData服务的代码:

oModel.read(苏里、{
成功:功能(oData){
},
错误:Util.batherRorClassNotFound
});
如何通过代码从导航属性获取URL?我可以通过以下对象获得它:

oData.to\u IClassVh.\u\u deferred.uri

但我不知道这是否正确。

导航属性,顾名思义,是可以导航到相关实体类型()的属性。UI5框架也支持此功能,因此应用程序开发人员不必手动提取URL。事实上,您甚至不需要调用
read
。以EDM[1]为例:

客户
导航:“命令” 1 订单
导航:“客户”

。。。由此

从以下位置导航:


从以下位置导航:


以下是使用导航属性的示例:

在您的情况下,您可以使用
来代替
客户
订单
。UI5随后将相应地为您发送请求。请记住,只有上下文和聚合绑定才能处理发送请求。属性绑定

如果您想知道XML中的
绑定
属性;这只是解决问题的方法之一。如果您需要动态地指定实体键(ID),通常就是这样,那么您必须使用JS中的API
bindElement
。我在这里对键进行硬编码只是为了示例

此外,您还可以添加
展开
,它将等待导航属性名称


响应:

下面是一个使用expand的示例:


[1] :“实体数据模型”-OData特定的E/R模型

ClassNum: "ZPM_TEST_01"
ClassNumDescr: "ZPM_TEST_01"
ClassType: "001"
InternalClass: "0000000130"
ValidFrom: Tue Sep 04 2018 02:00:00 GMT+0200 (Central European Summer Time) {}
ValidUntil: Fri Dec 31 9999 01:00:00 GMT+0100 (Central European Standard Time) {}
to_IClassHeaderVh: {__deferred: {…}}
to_IClassVh: {__deferred: {…}}