我搜索了这个问题的答案,但是我发现的每一个解决方案都不起作用,所以我开始认为我的问题可能在一个更高的层次上(但是官方和非官方的SAP指南没有帮助)。
我有一个Fiori主细节应用程序,我的详细视图如下:
<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>我尝试了我能想到的每一个组合,但是页面没有呈现。
现在,我知道片段和xmlview必须被一个聚合器包围,这个聚合器不可能是皂苷.m的“内容”标记。因此,我尝试使用来自sap.ui.layout的"VerticalLayout“和"content”,将它们移动到页面中,但浏览器仍然抱怨使用正确的聚合器(从ff控制台“不能将文本节点添加为聚合的直接子节点。”为了将文本添加到聚合,需要一个周围的html标记:片段内容)。
我读过该视图必须声明到manifes.json,但如果我正确理解,只有当这个页面是“独立的”。我认为这不是我的情况,因为我会在我的应用程序中重用这个子视图或片段。
在不同的尝试中,我检查了是否有一些拒绝或错误的代码,但是一切似乎都是正确的。
我认为在sap.m.semantic.DetailPage中可能不能使用xmlview和片段,但是我还没有通过SAP加法找到这方面的任何证据。
像我所做的那样构造一个详细的页面是正确的吗?IconTabFilter是否可以包含子视图或片段,或者以另一种方式设计页面更好?每次我改变一些东西,我都不知道它是否因为概念或设计上的错误而不起作用,我对此感到有点沮丧。
谢谢大家
发布于 2017-06-13 16:12:56
该错误是由<Text> FRAGMENT CONTENT </Text>引起的。不能将文本直接输入到<Text>标记中。您需要使用<Text text="FRAGMENT CONTENT"/>.
剩下的代码看起来很好。
https://stackoverflow.com/questions/44519866
复制相似问题