在OpenUI5中,如何获取目标来加载新工具栏,但删除现有工具栏?

时间:2017-06-29 10:00:35

标签: sapui5

我有一个小测试应用程序(刚入门),我想根据我所在的应用程序区域更改工具栏。目前,我正在使用工具栏控件。当目标将视图实例化为工具栏时,可以同时看到多个工具栏。

我已经看到“clearAggregation”:true应该确保只有一个工具栏,但我的目标设置中的配置项没有被尊重。

我认为某些容器由于其预期目的而不尊重“ClearAggregation”,所以我的问题是我应该使用哪个容器以便我可以通过路由和导航系统填充该区域?

定位:

    "signedout-toolbar": {
      "viewName": "SignedOutToolbar",
      "controlId": "__component0---appframe--main-toolbar",
      "controlAggregation": "content",
      "clearAggregation":  true
    },
    "standard-toolbar": {
      "viewName": "StandardToolbar",
      "controlId": "__component0---appframe--main-toolbar",
      "controlAggregation": "content",
      "clearAggregation":  true
    },

ROOT VIEW:

<mvc:View
controllerName="cpanel.controller.App"
xmlns:mvc="sap.ui.core.mvc"
xmlns:xhtml="http://www.w3.org/1999/xhtml"
displayBlock="true"
xmlns="sap.m">

  <ToolBar id="main-toolbar" />

  <App id="app" />

</mvc:View>

1 个答案:

答案 0 :(得分:0)

我认为

clearAggregation不是有效的属性。

根据您的版本,您必须使用clearTargetclearControlAggregation

如果您查看文档:

  

oConfig.clearTarget? @prepreated in 1.28 - 使用   的 target.clearControlAggregation 即可。默认值为false。定义一个布尔值   可以传递以指定是否应清除聚合   在将视图添加到它之前。当使用sap.ui.ux3.Shell时   应该是真的。对于sap.m.NavContainer,它应该是假的。

有关详细信息,请查看here