Flex自定义组件问题
现在我自定义了一个组件LabeledTextInput,内容很简单,就是<HBox><Lable/><TextInput/></HBox>问题如下:1.当我使用这个组件时...
现在我自定义了一个组件LabeledTextInput,内容很简单,就是
<HBox>
<Lable/>
<TextInput/>
</HBox>
问题如下:
1.当我使用这个组件时,
<LabeledTextInput id="input"/>
上面这个组件id和HBox的id是什么关系?是不是组件id就是HBox的id?
2.我希望,当我每次实例化这个组件,指定其id时,内部的Label的id自动设定为{组件id}+'_label',在组件定义里该怎么写呢? 展开
<HBox>
<Lable/>
<TextInput/>
</HBox>
问题如下:
1.当我使用这个组件时,
<LabeledTextInput id="input"/>
上面这个组件id和HBox的id是什么关系?是不是组件id就是HBox的id?
2.我希望,当我每次实例化这个组件,指定其id时,内部的Label的id自动设定为{组件id}+'_label',在组件定义里该怎么写呢? 展开
2个回答
展开全部
例子:mxml文件在被执行前会被as compiler 转换为 as文件,如果mxml中有<HBox id=hb1/> ,类似的as文件里可能是 public var hb1:HBox;也就是说这id代表的是一个组件实例的引用,因而你可以在该mxml外面或者内部使用该id,使用该类型组件的实例属性或方法,如hb1.width。
然后来解释问题:1. 关系即他们都是标识该组件的变量的,如果没有指定编译器会自动分配。每个组件都会被分配一个id
2.内部id自动设定为 {组件id_lable},LZ请想一下,当你创建使用一个类实例后,还能改变其已经定义在类内部的成员的名字么?
理解关键:MXML的本质还是ActionScript,如果LZ对JSP和Java Servlet了解,可以发现这里很多相似。
然后来解释问题:1. 关系即他们都是标识该组件的变量的,如果没有指定编译器会自动分配。每个组件都会被分配一个id
2.内部id自动设定为 {组件id_lable},LZ请想一下,当你创建使用一个类实例后,还能改变其已经定义在类内部的成员的名字么?
理解关键:MXML的本质还是ActionScript,如果LZ对JSP和Java Servlet了解,可以发现这里很多相似。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询