`
anreddy
  • 浏览: 100717 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

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事件那么麻烦了。

 

分享到:
评论

相关推荐

    flEX教程,与RED5连接

    Flex教程,特别是与RED5连接的相关知识,是Web开发领域中的一个重要主题,主要涉及Adobe Flex这一强大的富互联网应用程序(RIA)开发框架以及RED5这款开源流媒体服务器。在这篇文章中,我们将深入探讨Flex的基本概念...

    javascript 和 浏览器面试题

    在箭头函数中,this是在函数声明时就已经确定的上下文中的this值,且箭头函数不会创建自己的this上下文,因此不能使用call、apply或bind等方法来改变this指向。 总结以上内容,在JavaScript与浏览器相关的面试中,...

    前端面试题整理

    - **解决策略**:为了减少闭包带来的副作用,可以在不再需要变量时显式地将其设为`null`,或者在函数内部使用更细粒度的作用域来限制变量的生命周期。 #### sessionStorage 和 localStorage 与 cookie 的区别 - **...

    微信小程序开发-用户反馈组件案例源码.zip

    10. **部署与更新**:最后,当用户反馈组件完善后,将其上传至微信开发者平台,通过审核后即可在实际的小程序中使用,用户在新的版本中就能看到并使用这个功能。 总的来说,这个“微信小程序开发-用户反馈组件案例...

    微信小程序简单实现form表单获取输入数据功能示例

    `index.js` 文件中,我们定义了Page对象,其中包含了两个事件处理函数:`formBindsubmit` 和 `formReset`。`formBindsubmit` 函数会在表单提交时被调用,它检查用户名和密码是否为空,如果为空则更新提示信息并清空...

    获取到AdvancedDataGrid选中行的全部数据

    在函数内部,`trace(this.returns.selectedItem["@class"])`这一行代码用于打印选中行中特定列的值,这里的`"@class"`可能表示数据对象的一个特定属性。如果该属性值等于`.ComplexField`,则通过`event....

    web前端小测验

    在JavaScript中,每个函数都默认拥有一个 `prototype` 属性,用于指向该构造函数实例化对象时继承的对象。如果构造函数 `A` 没有显式定义 `prototype`,那么它的 `prototype` 将会是 `Object.prototype`,而 `Object...

    前端技术点整理面试复习知识点.docx

    3. **解构赋值**:可以从数组或对象中简洁地提取值。 4. **模板字符串**:使用反引号(``)定义字符串,并内置变量插值。 5. **Promise**:一种用于处理异步操作的新方式,相比回调更加优雅。 6. **async/await**:...

    微信小程序自定义toast弹窗效果的实现代码

    如果需要全局使用,可以将toastShow函数放入App对象中,这样就可以通过getApp()函数获取应用实例并调用toastShow。 6. 在wx.showToast中使用image属性可以添加图片达到自定义图标的目的,但若图标是字体或者需要...

    微信小程序 动态绑定事件并实现事件修改样式

    首先,动态绑定事件是通过在WXML(微信小程序的结构层)文件中使用`bind`前缀结合数据绑定来实现的。例如,在给出的实例中,`bindtap`事件被动态绑定到每个`text`元素上。`bind{{item.id}}`中的`{{item.id}}`是动态...

Global site tag (gtag.js) - Google Analytics