Свойства навигации, как следует из названия, - это свойства, с помощью которых вы можете переходить к связанным типам сущностей ( spec ).Платформа UI5 также поддерживает эту функцию, поэтому разработчикам приложений не нужно извлекать URL-адреса вручную.На самом деле, вам даже не нужно звонить read
.Давайте возьмем этот EDM [1] , например:
Клиент
Nav: «Заказы» 1 ___ n Заказ
Nav: «Клиент»
... из этого Служба северного ветра (метаданные)
Переход от одного объекта к коллекции :
<Page binding="{/Customers('ALFKI')}">
<List items="{Orders}">
<StandardListItem title="{OrderID}" />
</List>
</Page>
Переход от один объект к другому один объект :
<Page binding="{/Orders(10643)}">
<Panel binding="{Customer}" headerText="{ContactName}" />
</Page>
Вот пример использования свойств навигации: https://embed.plnkr.co/F3t6gI8TPUZwCOnA
В вашем случае выиспользуйте to_IClassHeaderVh
или to_IClassVh
вместо Customer
или Orders
.UI5 будет отправлять запросы для вас соответственно.Имейте в виду, что только контекстные и агрегатные привязки обрабатывают отправку запросов.Привязка свойства не .
На случай, если вас интересует атрибут binding
в XML;это просто один из способов связать одну сущность (контекст) .Если вам нужно динамически указывать ключи сущностей (ID), как это обычно бывает, вместо этого вам придется использовать API bindElement
[API] в JS.Я здесь жестко кодирую ключи только для примера.
Кроме того, вы также можете добавить обязательный параметр expand
, который ожидает имена (и) свойств навигации.
<Page binding="{
path: '/Orders(10643)',
parameters: {
expand: 'Customer'
}
}" >
<!-- ... -->
</Page>
Ответ: https://services.odata.org/V2/Northwind/Northwind.svc/Orders(10643)?$expand=Customer&$format=json
Вот пример использования расширения: https://embed.plnkr.co/wAlrHB
[1]: «Модель данных объекта» - модель E / R, специфичная для OData