在声明式html视图中使用html片段。

问题描述 投票:2回答:1

我试图将一个大的html视图分解成更小、更容易管理的块。

是否可以使用片段来完成这个任务?

例如,我有一个片段文件(view.configator.Summary.fragment.html),包含以下内容。

<div data-sap-ui-type="sap.m.Button" data-text="Hello"></div>

在我的父文件中,我试着包含如下片段。

            <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>

然而,我在控制台得到以下错误。

请提供一个片段名称

有什么办法吗?

谢谢你

Gar.

EDIT : 好像是个bug,但你可以通过在自定义控件中封装片段来解决。

 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);
    }
});

并这样使用。

<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>
sap sapui5
1个回答
6
投票

在XML-View中,我有一个片段文件(view.configuration.Summary...)。

包括与此相关的观点。

<mvc:XMLView viewName="your.namespace.ViewName" async="true" />

鉴于 xmlns:mvc="sap.ui.core.mvc"

在HTML-View中

你可以包括这样的视图。

<div data-sap-ui-type="sap.ui.core.mvc.HTMLView" data-view-name="your.namespace.ViewName" data-async="true"></div>
© www.soinside.com 2019 - 2024. All rights reserved.