Я думаю, что мне почему-то не хватает того, как UI5 BindingContext и ElementBinding работает в сложной ситуации.Сценарий заключается в том, что у меня есть объект "Сеть", который имеет два свойства навигации "Отношения" и "Функциональные объекты".Моя проблема сейчас в том, что я не могу заставить контекст работать.У меня есть sap.suite.ui.commons.networkgraph
для отображения этого отношения.
Мой код следующий:
В onInit моего ViewController я связываю (element / BindingContext?)на мой график с параметрами расширения:
//get the Graph by ID
this.Graph = this.byId("graph");
//Create the path with parameters
var element = {
path: "/Networks('DemoNet12')",
parameters: {
expand: "FunctionalObjects,Relations"
}
};
//bind path to Graph
this.Graph.bindElement(element);
Трассировка результирующего вызова oData выглядит хорошо.Фреймворк отбрасывает этот вызов в нужную службу бэкэнда: GET Networks('DemoNet12')?$expand=FunctionalObjects%2cRelations HTTP/1.1
Однако я не знаю, как подключить это к узлам и линиям моего сетевого графа.
<Graph id="graph" orientation="TopBottom" nodes="{FunctionalObjects}"
lines="{Relations}">
<nodes>
<Node key="{Identifier}"/>
</nodes>
<lines>
<Line from="{ObjectFrom}" to="{ObjectTo}"/>
</lines>
</Graph>
Я думал, что BindingContext компонента является динамическим и относительным, поэтому, когда я связываю сеть "DemoNet12" с графом, я получу отношения этого графа, когда я напишу "{/ Relations}".Это в настоящее время не работает.Я также увидел, что фреймворк теперь отбрасывает еще два вызова GET Relations?$skip=0&$top=100 HTTP/1.1
и GET FunctionalObjects?$skip=0&$top=100 HTTP/1.1
.
Может кто-нибудь объяснить мне, что я делаю неправильно?Я попробовал несколько созвездий, но на данный момент ничего не работает.Единственный способ заставить его работать - написать это и полностью закомментировать javascript:
<Graph id="graph" nodes="{Networks('DemoNet12')/FunctionalObjects}" lines="{Networks('DemoNet12')/Relations}>"
<!-- nodes and lines as above -->
</Graph>
Но это приводит к двум вызовам непосредственно для навигации.