我正在尝试将大型html视图分解为更小,更易于管理的块.
是否可以使用片段来做到这一点?@H_404_3@
例如,我有一个包含以下内容的片段文件(view.configurator.Summary.fragment.html):@H_404_3@
<div data-sap-ui-type="sap.m.Button" data-text="Hello"></div>
在我的父文件中,我尝试按如下方式包含片段:@H_404_3@
<div data-sap-ui-type="sap.m.VBox" class="summary-panel-content"> <div data-sap-ui-type="sap.ui.core.Fragment" data-fragment-name="view.configurator.Summary" data-type="HTML"></div> </div>
Please provide a fragment name@H_404_3@
有任何想法吗?@H_404_3@
谢谢,@H_404_3@
碣.@H_404_3@
编辑:似乎它是一个错误,但您可以通过将片段包装在自定义控件中来解决@H_404_3@
sap.ui.core.Control.extend("sap.mic.controls.Fragment",{ Metadata: { properties: { "name": "string" } },init: function () { },renderer: function (renderManager,control) { var fragmentName = control.getProperty("name"),fragment = sap.ui.htmlfragment(fragmentName); renderManager.renderControl(fragment); } });
像这样使用:@H_404_3@
<div data-sap-ui-type="sap.m.Page" data-enable-scrolling="false"> <div data-sap-ui-type="sap.mic.controls.Fragment" data-name="view.configurator.Summary"></div> </div>
解决方法
在XML-View中
您必须将此命名空间添加到XML-Header中:@H_404_3@
xmlns:mvc="sap.ui.core.mvc"
然后包含以下视图:@H_404_3@
<mvc:XMLView viewName="your.namespace.ViewName"></mvc:XMLView>
在HTML视图中@H_404_3@
您可以包含以下视图:@H_404_3@
<div data-sap-ui-type="sap.ui.core.mvc.HTMLView" data-view-name="your.namespace.ViewName"></div>
XML视图中的XML片段@H_404_3@
<core:Fragment id="xmlInXml" fragmentName="my.useful.SimpleUiPart" type="XML" />