UI5 路由不实例化视图

UI5 routing doesn't instantiate a view

本文关键字:视图 实例化 路由 UI5      更新时间:2023-09-26

我的组件中有一些路由。我想导航到网址"URL/#/报告"。以下是我的路线:

routes: [
                {
                    pattern: "",
                    name: "menu",
                    view: "Menu",
                    targetAggregation: "pages",
                    targetControl: "idAppControl"
                },
                {
                    pattern: "Reports",
                    name: "reports",
                    view: "SplitContainer",
                    targetAggregation: "pages",
                    targetControl: "idAppControl",
                    clearTarget: true,
                    subroutes: [
                        {
                            pattern: "Reports/SFC",
                            name: "sfcsub",
                            view: "SFCReport",
                            targetControl: "idSplitContainerControl",
                            targetAggregation: "masterPages"
                        }
                    ]
                }
            ]

不过,它有点工作。这意味着,如果我单击/Reports路径的菜单项,"菜单"视图将消失。问题是"拆分容器"视图未加载/实例化。没有 DOM 元素。疯狂的是,如果我重新加载页面(带有 URL/#/报告),我会得到 SplitContainer 视图。

导致报告路径的函数:

sap.ui.core.UIComponent.getRouterFor(this).navTo("reports", {
    from: "menu"
}, bReplace);

你设置了

clearTarget: true, 

这会从应用页面聚合中删除菜单页面。如果您使用的是 navContainer 和 splitcontainer,则应将 clearTarget 设置为 false,因为它们正在构建导航堆栈,并且需要页面不断在其聚合中。

溴,托比亚斯