【发布时间】:2015-07-09 00:47:28
【问题描述】:
首先,我知道有类似的问题,但没有一个答案可以解决我的问题。
快速查看我的代码:
我的 Component.js 看起来像这样
routes: [
{
pattern: "", //home page
name: util.Constants.Tile,
view: util.Constants.Tile,
viewId: util.Constants.Tile,
targetAggregation: "pages"
//targetControl: "idAppControl"
},
{
pattern: "firstExample",
name: util.Constants.FirstExample,
view: util.Constants.FirstExample,
viewId: util.Constants.FirstExample,
targetAggregation: "pages",
targetControl : "idAppControl",
subroutes : [
{
pattern: "firstExample",
name: util.Constants.ExampleMaster,
view: util.Constants.ExampleMaster,
targetAggregation: "masterPages",
targetControl: "idSplitContainerControl",
},
{
pattern: "firstExample/:typeMaster:",
name: util.Constants.ExampleSecondMaster,
view: util.Constants.ExampleSecondMaster,
targetAggregation: "masterPages",
targetControl: "idSplitContainerControl",
subroutes : [
{
pattern : "firstExample/:typeDetail:",
name : util.Constants.ExampleDetail,
view : util.Constants.ExampleDetail,
targetAggregation : "detailPages"
}
]
}
]
},
简短说明:这是一个具有普通应用视图(无主视图)的页面和一个具有两个主视图和一个详细视图的后续拆分容器。每当我想调用详细视图时
onSelect : function (e) {
var routeTo = e.getSource().getTitle();
this.router.navTo(util.Constants.ExampleDetail, { typeDetail : routeTo } );
},
它说
2015-03-30 14:50:06 找不到 ID 为 idAppControl 的控件 - sap-ui-core-dbg.js:15213
有什么想法吗? 提前感谢您的帮助!
类似主题的链接:
【问题讨论】:
-
targetControl 定义了将视图作为例如“内容”的聚合的控件。哪个控件应该满足您的意见?把这个控件的id放到targetControl: "id_of_your_control"
-
感谢您的回答。我有一个 ID 为“idSplitContainerControl”的 SplitContainer (XML)。在 SplitApp 模式下,这个 ID 应该服务于我的观点。如果我用详细视图注释掉第二个子路由,它工作正常。我发现 DetailView(控制器和视图)甚至没有加载,即使它正确地路由到正确的 url。
-
可能是因为您的子路由与主路由具有相同的模式。我认为对于普通路由器,由于贪婪选项,第二个模式将不匹配。但我不确定子路由的情况是否相同。您可以通过启用路由器中的贪婪选项来尝试它。 stackoverflow.com/questions/28948375/…
-
其实不是同一个模式,我在“firstExample/”后面加上了被点击的列表元素的名字。我尝试了贪婪选项,发生的情况是路由器自动从第一个主视图跳转到第二个主视图,但仍然显示与之前相同的失败消息。再次感谢你的帮助! :)
标签: routing aggregation deep-linking sapui5