我有自己的自定义组件,例如一些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"实际上是一个属性名称。你不能在运行时更改属性的名称,是吗?