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}不是有效的标识符
我甚至可以这样做吗?
不,你不能.当你编写像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'实际上是属性名称.你不能在运行时更改属性的名称吗?