【发布时间】:2015-05-19 16:01:19
【问题描述】:
我的组件中有一些路由。我想导航到 URL“URL/#/Reports”。这是我的路线:
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 路径的菜单项,“菜单”视图就会消失。问题是“SplitContainer”视图未加载/实例化。没有 DOM 元素。 疯狂的是,如果我重新加载页面(使用 URL“URL/#/Reports”),我得到的 SplitContainer 视图就好了。
导致报告路径的函数:
sap.ui.core.UIComponent.getRouterFor(this).navTo("reports", {
from: "menu"
}, bReplace);
【问题讨论】:
-
它会加载 SplitContainer 视图文件吗?您是否尝试暂时省略子路由或将 clearTarget 设置为 false?您可以发布您的 routing.config 吗?
-
感谢您的回复。 SplitContainer 仅包含一个 SplitContainer 控件(:))。如果我使用真正的路由(通过单击菜单项),则不会将其加载到 DOM 中。但是,如果我直接访问 URL(或者当然是重新加载页面),SplitContainer 视图就可以正常加载。我必须测试您的建议并发布结果。我从来没有听说过routing.config?你是说 MyRouter.js 吗?
-
好吧,伪造 cleartarget 并清除子路由会导致页面看起来像起始页面(带有菜单内容)。但是,如果我重新加载页面,我会得到 SplitContainer 视图>>没有
-
取出
bReplace -
@NareshKumarDevalapally 这些天我已经对此进行了测试,但也没有用。
标签: javascript view routes sapui5