我正在尝试将数据属性添加到XML视图中的元素,如下所示:
<core:FragmentDefinition
xmlns="sap.m"
<VBox data-help-id="Some.String.Here">
...
</VBox>
</core:FragmentDefinition>
但找不到怎么做,除非我通过Controller分配它们。
尝试使用CustomData命名空间,但它只添加数据,而不将HTML属性添加到DOM元素。
有什么想法吗?
谢谢!
答案 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中找到有关编写自定义控件的更多信息。