由于缺少“controlAggregation”

时间:2017-05-09 09:38:33

标签: sapui5

我目前正在开发基于SAPUI5的网络应用。目前,它基于HTML页面,但我们必须迁移到动态结构。解决方案将是路由器。我已经按照大量的教程,尝试了不同的结构(JS / XML视图),但路由器总是抛出错误说:

  

目标介绍具有控件ID或父级,但未设置“controlAggregation”,因此无法显示目标。 - EventProvider sap.m.routing.Target

这是我目前的路由器设置:

"routing": {
  "config": {
    "routerClass": "sap.m.routing.Router",
    "viewType": "XML",
    "viewPath": "xx.xxxxxxx.view",
    "controlId": "appContainer"
  },
  "routes": [
    {
      "pattern": "",
      "name": "intro",
      "target": "intro"
    }
  ],
  "targets": {
    "intro": {
      "viewName": "intro"
    }
  }
}

"controlId"指向<App>中的"rootView"控件。

我尝试使用非常简单的视图(例如仅限文本),但问题仍然存在。

<mvc:View
  controllerName="xx.xxxxxxx.controller.app"
  xmlns="sap.m"
  xmlns:mvc="sap.ui.core.mvc"
  displayBlock="true"
>
  <App id="appContainer"/>
</mvc:View>

1 个答案:

答案 0 :(得分:0)

如错误消息所示,路由器不知道应该在哪个聚合中添加“intro”-view。由于控件App具有名为“pages”的聚合(继承自NavContainer),因此请将"controlAggregation": "pages"包含在属性"routing"/"config"中。