如何获取xml控件属性

时间:2016-02-24 11:01:23

标签: javascript xml controls sapui5

我想获取方法render

中的属性
sap.ui.define([
    "sap/ui/core/Control"
], function (Control) {
    "use strict";
    return Control.extend("sap.ui.test.control.IndexPageButton", {
        metadata : {
            properties: {
                value:  {type : "float", defaultValue : 0},
                name: "IndexPageButton",
                label: "Label"
            },
            events: {},
            aggregations : {}
        },
        init : function () {
        },
        renderer : function (oRM, oControl) {
            oRM.write("<div");
            oRM.writeControlData(oControl);
            oRM.writeClasses();
            oRM.write(">");

            oRM.write("<span");
            oRM.addClass("label");
            oRM.write(">");
            oRM.write("</span>");

            oRM.write("<span");
            oRM.addClass("counter");
            oRM.write(">");
            oRM.write("</span>");

            oRM.write("</div>");
        }
    });
});

XML:

<test:IndexPageButton class="item" value="20" label="{i18n>homePageLink}" />

我想获得attrs值和标签,并将它们粘贴到渲染中。

我是怎么做到的?

1 个答案:

答案 0 :(得分:1)

您可以通过各自的getter函数访问控件的属性。

对于元数据中定义的每个属性,框架会自动生成一个getter和一个setter。

因此,您可以使用以下行访问renderer函数中的值和标签:

oControl.getValue();
oControl.getLabel();