apacheflex-将变量分配给MXML组件ID



我有自己的自定义组件,例如一些Label。我想传递给我的组件值,它将被分配给标签的id。

代码:

<fx:Script>
        <![CDATA[
            [Inspectable]
            [Bindable]
            public var test:String = "asd";
        ]]>
</fx:Script>
<s:Label id="{test}" text="etc"/>

错误:{test}不是有效的标识符

我能做这样的事吗?

不,你不能。您必须明白,当您编写像这样的mxml组件时

<s:Group>
    <s:Label id="myLabel" />
</s:Group>

它将生成类似的ActionScript代码

public class MyClass extends Group {
    public var myLabel:Label;
}

(请注意,为了传达最重要的部分,我过于简化了这里的代码)。

正如您所看到的,您的"id"实际上是一个属性名称。你不能在运行时更改属性的名称,是吗?

最新更新