【发布时间】:2017-11-15 03:15:24
【问题描述】:
我搜索了这个问题的答案,但我发现的每个解决方案都不起作用,所以我开始认为我的问题可能处于更高的级别(但官方和非官方的 SAP 指南没有帮助)。
我有一个 Fiori Master-Detail 应用程序,我的详细视图如下:
<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>
我尝试了所有我能想到的组合,但页面没有呈现。
现在我知道片段和 xmlviews 必须被不能是 sap.m 的“内容”标签的聚合器包围。因此,我尝试使用 sap.ui.layout 中的“VerticalLayout”和“内容”,将它们移动到页面中,但浏览器仍然抱怨使用了正确的聚合器(来自 ff 控制台“无法将文本节点添加为聚合。要将文本添加到聚合中,需要一个环绕的 html 标记:FRAGMENT CONTENT")。
我已经读过该视图必须声明为manifes.json,但如果我理解正确,只有当这个页面是“独立的”时。我认为这不是我的情况,因为我会在我的应用程序中重用这些子视图或片段。
我检查了我在不同的尝试中是否留下了一些拒绝或一些错误的代码,但一切似乎都是正确的。
我认为也许 xmlviews 和 Fragments 不能在 sap.m.semantic.DetailPage 中使用,但我没有通过 SAP doumentation 找到任何证据。
像我所做的那样构建详细信息页面是否正确? IconTabFilter 是否可以包含子视图或片段,或者以另一种方式设计页面更好?每次我更改某些内容时,我都不知道是不是因为概念或设计错误而无法正常工作,对此我感到有些沮丧。
谢谢大家
【问题讨论】:
标签: xml fragment sapui5 subview