templateShareable for ui5 sap.uxap subSections

时间:2016-04-27 09:52:26

标签: xml sapui5

我正在尝试使用sap.uxap ObjectPageLayout,包括节和子节。如果我只使用部分,一切都很好。使用subSections,输出是预期的输出,但是存在错误

  

共享模板必须在绑定信息 -

中使用templateShareable标记为true

我的模型绑定了名称mydatamodel,看起来像

{
"data":{
    "Prop1":[
        {
            "Prop2":[
                {
                    "Prop3":[
                        {
                            "Prop4":[],
                            "Name":"Name31"
                        },
                        {
                            "Prop4":[],
                            "Name":"Name32"
                        }
                    ],
                    "Name":"Name21"
                },
                {
                    "Prop3":[
                        {
                            "Prop4":[],
                            "Name":"Name33"
                        },
                        {
                            "Prop4":[],
                            "Name":"Name34"
                        }
                    ],
                    "Name":"Name22"
                }
            ],
            "Name":"Name11"
        }
    ]
}
}

XML niew是

<mvc:View
  controllerName="app.catalogue.view.master.cataloguePreview"
  xmlns:core="sap.ui.core"
  xmlns:mvc="sap.ui.core.mvc"
  xmlns:l="sap.ui.layout"
  xmlns="sap.m"
  xmlns:uxap="sap.uxap"
  xmlns:table="sap.ui.table"
  xmlns:u="sap.ui.unified"
  displayBlock="true"
  templateShareable="true">

  <Page
    title="{i18n>PreviewTitle}">

    <uxap:ObjectPageLayout
      sections="{mydatamodel>Prop1}">

      <uxap:headerTitle>
        <uxap:ObjectPageHeader
          objectTitle="{i18n>ObjectTitle}">
        </uxap:ObjectPageHeader>
      </uxap:headerTitle>

      <uxap:sections>

        <uxap:ObjectPageSection
          title="{mydatamodel>Name}"
          subSections="{mydatamodel>Prop2}">

          <uxap:subSections>

            <uxap:ObjectPageSubSection
              title="{mydatamodel>Name}"

              <uxap:blocks
                title="{mydatamodel>Name}">

                <table:Table
                  rows="{mydatamodel>Prop3}"
                  <table:columns>
                    <table:Column
                      width="11rem"
                      sorted="true"
                      sortOrder="Ascending"
                      sortProperty="Name">
                      <Text text="{i18n>TableTitle}" />
                      <table:template>
                        <Label text="{mydatamodel>Name}" />
                      </table:template>
                    </table:Column>
                  </table:columns>
                </table:Table>

              </uxap:blocks>
            </uxap:ObjectPageSubSection>
          </uxap:subSections>
        </uxap:ObjectPageSection>
      </uxap:sections>
    </uxap:ObjectPageLayout>
  </Page>
</mvc:View>

备注:如果我取消 subSections="{mydatamodel>Prop2}" 并将行更改为 rows="{mydatamodel>Prop2}" ,则不会出现错误。

你有什么想法吗?感谢。

1 个答案:

答案 0 :(得分:0)

我假设你正在使用聚合绑定。

结帐: https://openui5beta.hana.ondemand.com/#docs/api/symbols/sap.ui.base.ManagedObject.html#bindAggregation

bindingInfo参数中有一个名为templateShareable的属性。 将此设置为true,错误应该消失。