2017-06-13 68 views
0


我搜索了這個問題的答案,但是我找到的每個解決方案都不起作用,所以我開始認爲可能是我的問題處於更高級別(但官方和非官方SAP指南沒有幫助)。SAPUI5如何在語義細節視圖中插入片段或xmlview

我有菲奧裏主從應用程序,而我的詳細視圖如下:

<mvc:View 
     controllerName="masterdetailsample.controller.Detail" 
     xmlns="sap.m" 
     xmlns:l="sap.ui.layout" 
     xmlns:core="sap.ui.core" 
     xmlns:mvc="sap.ui.core.mvc" 
     xmlns:semantic="sap.m.semantic"> 

    <semantic:DetailPage 
     id="page" 
     navButtonPress="onNavBack" 
     showNavButton="{device>/system/phone}" 
     title="{i18n>detailTitle}" 
     busy="{detailView>/busy}" 
     busyIndicatorDelay="{detailView>/delay}"> 

     <semantic:content> 
      <ObjectHeader 
       id="objectHeader" 
       title="{EmployeeID}"> 
      </ObjectHeader> 
      <l:VerticalLayout> 
       <IconTabBar 
        id="iconTabBar" 
        class="sapUiResponsiveContentPadding" 
        upperCase="true"> 
        <items> 
         <IconTabFilter 
          id="detailIconTabBarInfo" 
          text="{i18n>detailIconTabBarInfo}" 
          tooltip="{i18n>detailIconTabBarInfo}"> 

          <Toolbar design="Solid"> 
           <content> 
            <Title 
             text="{i18n>detailIconTabBarInfo}" 
             width = "100%"> 
            </Title> 
           </content> 
          </Toolbar> 

          <core:Fragment id="perfEval" fragmentName="masterdetailsample.view.viewcomponents.PerformanceDevelopment" type="XML"/> 
          <mvc:XMLView id="compOvw" viewName="masterdetailsample.view.viewcomponents.PerformanceDevelopment" displayBlock="true"/> 

         </IconTabFilter> 
        </items>  
       </IconTabBar> 
      </l:VerticalLayout> 
     </semantic:content> 
    </semantic:DetailPage> 
</mvc:View> 

我的片段頁面如下:

<core:FragmentDefinition 
    xmlns="sap.m" 
    xmlns:core="sap.ui.core" 
    xmlns:l="sap.ui.layout" 
    xmlns:f="sap.ui.layout.form" 
    xmlns:mvc="sap.ui.core.mvc"> 
    <Text> 
     FRAGMENT CONTENT 
    </Text> 
</core:FragmentDefinition> 

雖然xmlView中是:

<mvc:View 
    xmlns="sap.m" 
    xmlns:core="sap.ui.core" 
    xmlns:l="sap.ui.layout" 
    xmlns:f="sap.ui.layout.form" 
    xmlns:mvc="sap.ui.core.mvc" 
    controllerName="masterdetailsample.controller.PerformanceDevelopment"> 
    <Text> 
     FRAGMENT CONTENT 
    </Text> 
</mvc:View> 

我嘗試了所有能夠想到的組合,但頁面無法呈現。
現在我知道fragment和xmlviews必須被一個不能成爲sap.m的「content」標籤的聚合器所包圍。所以我嘗試使用sap.ui.layout中的「VerticalLayout」和「content」,將它們移動到頁面中,但瀏覽器仍然抱怨使用正確的聚合器(從ff控制檯「無法將文本節點添加爲聚合。要添加文本到聚合,需要一個周圍的html標籤:FRAGMENT CONTENT「)。
我已閱讀該視圖必須聲明爲manifes.json,但如果我理解正確,只有當這些頁面是「獨立的」。我認爲這不是我的情況,因爲我會在我的應用程序中重用這個子視圖或片段。
我檢查過我的不同嘗試是否有一些拒絕或一些錯誤的代碼,但一切似乎都正確。
我認爲可能xmlviews和片段不能在sap.m.semantic.DetailPage中使用,但我沒有通過SAP doumentation找到任何證據。
正如我所做的那樣構造一個詳細頁面是正確的? IconTabFilter可以包含子視圖或片段,還是以其他方式設計頁面更好?每當我改變一些東西時,我不知道它是否因概念或設計錯誤而無法使用,我對此感到有點沮喪。

謝謝大家

回答

0

錯誤是由<Text> FRAGMENT CONTENT </Text>造成的。您無法將文字直接輸入<Text>標籤。你需要使用<Text text="FRAGMENT CONTENT"/>.

其餘的代碼看起來很好。

+0

恩,謝謝你這麼多先生!我的印象是,在標籤內部有一些禁止標籤,這對我來說沒有什麼意義。這顯然更合乎邏輯。謝謝 –

+0

@MarcoDalena很高興幫助。如果這解決了您的問題,請隨時接受答案,或者讓我知道它是否會解決問題,然後我會嘗試對其進行編輯。編輯:我注意到你之前從未接受過答案,所以我將在此留下此鏈接: https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work –

相關問題