网站导航中丢失的XML子视图

时间:2016-09-29 11:11:19

标签: sap sapui5 hana-cloud-platform

我创建了一个simple SAPUI5 Application,可以作为小部件部署到SAP HANA Cloud Portal。 此应用程序包含一个根xml视图,它加载两个嵌套的xml视图,并且其中没有任何复杂的逻辑。

在SAP HANA Cloud Portal上,当此小部件添加到同一站点上的多个页面时,一切看起来都不错。 但是一旦你开始在网站页面之间导航,根xml视图就会丢失它的子视图html。

由于应用程序不包含任何复杂逻辑,为什么根视图会丢失这些子视图?

如何在网站导航后维护子视图内容?

根视图代码如下:

<mvc:View controllerName="ui5views.controller.RootApp" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:mvc="sap.ui.core.mvc" xmlns:core="sap.ui.core" xmlns="sap.m">
  <mvc:XMLView id="renderView" viewName="ui5views.view.render" />
  <mvc:XMLView id="editView" viewName="ui5views.view.edit" />
</mvc:View>

子视图是:

  1. edit.view.xml

    <mvc:View xmlns:core="sap.ui.core" xmlns:mvc="sap.ui.core.mvc" xmlns="sap.m" controllerName="ui5views.controller.render"
    xmlns:html="http://www.w3.org/1999/xhtml">
    <VBox id="app" class="app-root-edit">
        <html:div id="appEdit" class="app-edit">edit</html:div>
    </VBox>
    

  2. render.view.xml

    <mvc:View xmlns:core="sap.ui.core" xmlns:mvc="sap.ui.core.mvc" xmlns="sap.m" controllerName="ui5views.controller.render"
    xmlns:html="http://www.w3.org/1999/xhtml">
    <VBox id="app" class="app-root-view">
        <html:div id="appViewer" class="app-viewer">render</html:div>
    </VBox>
    

  3. Github上提供的完整示例应用程序源:https://github.com/anasnakawa/ui5views

    要重现此问题,请按以下步骤操作:

    1. repo克隆到SAP Web IDE
    2. 部署到SAP HANA Cloud Portal
    3. 在SAP HCP上创建网站
    4. 创建另一个网站页面
    5. 将ui5views添加到第一页
    6. 检查小部件,查找任何子视图(.app-viewer.app-edit
    7. 导航到其他网站页面,然后添加ui5views小部件
    8. 导航回第一页
    9. 预期结果:

      子视图将保留在根视图中

      实际结果:

      子视图不在根视图中(document.querySelectorAll( '.app-viewer' )将显示视图位于页面上的其他位置)

0 个答案:

没有答案