XML视图元素中的数据属性

时间:2016-06-27 13:56:57

标签: sapui5

我正在尝试将数据属性添加到XML视图中的元素,如下所示:

<core:FragmentDefinition
    xmlns="sap.m"
    <VBox data-help-id="Some.String.Here">
        ...
    </VBox>
</core:FragmentDefinition>

但找不到怎么做,除非我通过Controller分配它们。

尝试使用CustomData命名空间,但它只添加数据,而不将HTML属性添加到DOM元素。

有什么想法吗?

谢谢!

2 个答案:

答案 0 :(得分:4)

实际上你可以做一些非常接近的事情并将数据关联到你的xmlView。这适用于xml视图等。请查看此网址以获取更多详细信息:Custom Data - Attaching Data Objects to Controls

您需要做的是向xmlView添加自定义命名空间:

xmlns:dataHelp="http://schemas.sap.com/sapui5/extension/sap.ui.core.CustomData/1"

...

<core:FragmentDefinition
    xmlns="sap.m"
    <VBox dataHelp:id="Some.String.Here" id="myBox"
        ...
    </VBox>
</core:FragmentDefinition>

然后,您可以在绑定和javascript / controller / event处理程序中设置和使用此属性:

sap.ui.getCore().byId("myBox").data("id") // = Some.String.Here

答案 1 :(得分:1)

您只能使用标准控件属性影响写入DOM的属性。如果标准属性没有为您提供设置正确HTML属性的方法,并且您仍希望在DOM中获取自己的HTML属性,则需要对控件进行子类化并编写自己的渲染器。当您编写自己的渲染器时,您可以完全控制写入DOM的内容。

您可以在SAPUI5演练的Step 34中找到有关编写自定义控件的更多信息。