Flex中使用this获取内部对象的实例

如果界面上有一系列ID的相似的组件,可以通过this关键字加上ID的字符串做作下标来定位当前模块或者应用程序中每一个组件的实例,并改变组件的属性、风格、效果或者行为,使得代码更加简洁通用。如下面的代码所示:

 

<?xml version="1.0"?>
<!-- usingas/FlexComponents.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script><![CDATA[
  private var newFontStyle:String;
  private var newFontSize:int;
  public function changeLabel(s:String):void {
    s = "myButton" + s;
    if (this[s].getStyle("fontStyle")=="normal") {
      newFontStyle = "italic";
      newFontSize = 18;
    } else {
      newFontStyle = "normal";
      newFontSize = 10;
    }
    this[s].setStyle("fontStyle",newFontStyle);
    this[s].setStyle("fontSize",newFontSize);
  }
]]></mx:Script>
<mx:Button id="myButton1"
click="changeLabel('2')"
label="Change Other Button's Styles"
/>
<mx:Button id="myButton2"
click="changeLabel('1')"
label="Change Other Button's Styles"
/>
</mx:Application>

 

  上面应用程序有两个ID相似的按钮组件,分别是myButton1和myButton2,分别点击自已是会改变对方label的字
型和大小。changeLabel方法接授一个参数就可以为两个按钮提供行为的响应,方法内部通过this[id]的方式获取要改变组件的实例从而完成了用户的动作需求,这样就可以避免写两个方法分别向应两个按钮click事件那么麻烦了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值