将变量分配给MXML组件ID

Dea*_*man 2 apache-flex mxml actionscript-3 flash-builder flex4.5

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

码:

<fx:Script>
        <![CDATA[
            [Inspectable]
            [Bindable]
            public var test:String = "asd";
        ]]>
</fx:Script>
<s:Label id="{test}" text="etc"/>
Run Code Online (Sandbox Code Playgroud)

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

我甚至可以这样做吗?

RIA*_*tar 6

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

<s:Group>
    <s:Label id="myLabel" />
</s:Group>
Run Code Online (Sandbox Code Playgroud)

它将生成ActionScript代码

public class MyClass extends Group {
    public var myLabel:Label;
}
Run Code Online (Sandbox Code Playgroud)

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

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