我的组件.js是这些路由:
routes: [
{
pattern: "",
name: "menu",
view: "Menu",
targetAggregation: "pages",
targetControl: "idAppControl",
subroutes: [
{
pattern: "Reports",
name: "reports",
view: "SplitContainer",
targetAggregation: "pages",
targetControl: "idAppControl",
clearTarget: true
}
]
}
]
当我尝试访问应用程序抛出的子路由(URL/#/报告)时(Chrome):
控件 idAppControl 没有名为 pages 的聚合 -
这是令人困惑的,因为"idAppControl"是一个应用程序,因此有一个聚合页面。此外,第一个"主"路由运行良好,即使我使用的是与子路由完全相同的控制(和聚合)。
可能出了什么问题?
我已经发现了问题所在。这有点像"范围"问题。您不能加入与父路由相同的控制。您可以生成以下错误消息与相同的问题:
找不到具有 ID 的控件 idAppControl
找不到
我所做的是:
routes: [
{
pattern: "",
name: "menu",
view: "Menu",
targetAggregation: "pages",
targetControl: "idAppControl"
},
{
pattern: "Reports",
name: "reports",
view: "SplitContainer",
targetAggregation: "pages",
targetControl: "idAppControl",
clearTarget: true
}
]
回想起来,这似乎是很合乎逻辑的:D