将变量分配给MXML组件ID

时间:2011-06-30 10:46:31

标签: flex actionscript-3 flash-builder mxml flex4.5

我有自定义组件,例如很少有Label。我想传递给我的组件值,该值将分配给标签的id。

代码:

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

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

我甚至可以这样做吗?

1 个答案:

答案 0 :(得分:6)

不,你不能。当你编写像

这样的mxml组件时,你必须明白
<s:Group>
    <s:Label id="myLabel" />
</s:Group>

它将生成类似

的ActionScript代码
public class MyClass extends Group {
    public var myLabel:Label;
}

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

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