同时显示两次SAPUI5视图

同时显示两次SAPUI5视图,sapui5,Sapui5,我构建了一个sapui5应用程序,其中显示了与SAP工厂相关的信息。现在,我需要在同一页上显示两次相同的视图,但包含两种不同植物的信息。想象一下两个iframe。该应用程序应该能够运行只有一个视图(像现在一样),而且它应该能够在同一页上多次显示数据 为了解决这个问题,我构建了一个额外的视图(splitview),其中包含一个componentcontainer来加载“真实”视图(主视图)。这将以一个连续的循环结束 这就是我试图构建splitview的方式 <mvc:View xmlns:c

我构建了一个sapui5应用程序,其中显示了与SAP工厂相关的信息。现在,我需要在同一页上显示两次相同的视图,但包含两种不同植物的信息。想象一下两个iframe。该应用程序应该能够运行只有一个视图(像现在一样),而且它应该能够在同一页上多次显示数据

为了解决这个问题,我构建了一个额外的视图(splitview),其中包含一个componentcontainer来加载“真实”视图(主视图)。这将以一个连续的循环结束

这就是我试图构建splitview的方式

<mvc:View xmlns:core="sap.ui.core" xmlns:mvc="sap.ui.core.mvc" xmlns="sap.m" xmlns:l="sap.ui.layout"
    controllerName="zqinsplotlist.zqinsplotlist.controller.splitview" xmlns:html="http://www.w3.org/1999/xhtml">
    <App>
        <pages>
            <Page title="Title">
                <content>
                    <l:HorizontalLayout class="sapUiContentPadding">
                        <ComponentContainer xmlns="sap.ui.core" name="zqinsplotlist.zqinsplotlist"
                            settings='\{ "componentData" : \{ "startupParameters" : \{"Werks" : ["1001"], "Zfcod" : ["PLOS"], "Herkunft" : ["03"] \} \}\}'/>
                        <Text text="Hello Split"/>
                    </l:HorizontalLayout>
                </content>
            </Page>
        </pages>
    </App>
</mvc:View>


我希望这将加载我的主视图一次。但是它会被一次又一次的循环调用。

你为什么不试试这样的东西呢:

<mvc:View 
  xmlns:core="sap.ui.core" 
  xmlns:mvc="sap.ui.core.mvc" 
  xmlns="sap.m" 
  xmlns:l="sap.ui.layout"
  controllerName="zqinsplotlist.zqinsplotlist.controller.splitview" 
  xmlns:data="http://schemas.sap.com/sapui5/extension/sap.ui.core.CustomData/1"
  xmlns:html="http://www.w3.org/1999/xhtml">
  <App>
    <l:HorizontalLayout class="sapUiContentPadding">
      <mvc:XMLView 
        viewName="zqinsplotlist.zqinsplotlist.view.MyView" 
        data:some="data to distinguish the views" 
        data:instance="1"
      />
      <mvc:XMLView
        viewName="zqinsplotlist.zqinsplotlist.view.MyView" 
        data:some="other data to distinguish this view from the above" 
      />              
    </l:HorizontalLayout>
  </App>
</mvc:View>
if (this.getView().data('instance') === 1) {
  // do stuff
}
这应该行得通,但我还没有测试。不能100%确定自定义数据在从XML实例化的视图上工作。嗯,它应该


克里斯,你为什么不试试这样的东西呢

<mvc:View 
  xmlns:core="sap.ui.core" 
  xmlns:mvc="sap.ui.core.mvc" 
  xmlns="sap.m" 
  xmlns:l="sap.ui.layout"
  controllerName="zqinsplotlist.zqinsplotlist.controller.splitview" 
  xmlns:data="http://schemas.sap.com/sapui5/extension/sap.ui.core.CustomData/1"
  xmlns:html="http://www.w3.org/1999/xhtml">
  <App>
    <l:HorizontalLayout class="sapUiContentPadding">
      <mvc:XMLView 
        viewName="zqinsplotlist.zqinsplotlist.view.MyView" 
        data:some="data to distinguish the views" 
        data:instance="1"
      />
      <mvc:XMLView
        viewName="zqinsplotlist.zqinsplotlist.view.MyView" 
        data:some="other data to distinguish this view from the above" 
      />              
    </l:HorizontalLayout>
  </App>
</mvc:View>
if (this.getView().data('instance') === 1) {
  // do stuff
}
这应该行得通,但我还没有测试。不能100%确定自定义数据在从XML实例化的视图上工作。嗯,它应该


Chris

看起来您正在加载组件
zqinsplotlist.zqinsplotlist
它本身
name=“zqinsplotlist.zqinsplotlist”
,这可能吗?这将导致一个无限循环,看起来您正在加载组件
zqinsplotlist.zqinsplotlist
它本身
name=“zqinsplotlist.zqinsplotlist”
,这可能吗?这将导致一个无限循环