2

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

代码:

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

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

我什至可以做这样的事情吗?

4

1 回答 1

6

不,你不能。你必须明白,当你编写一个 mxml 组件时

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

它将生成 ActionScript 代码,如

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

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

如您所见,您的“id”实际上是一个属性名称。而且您不能在运行时更改属性的名称,可以吗?

于 2011-06-30T10:54:30.173 回答