Flex 动态绑定BindingUtils.bindProperty

关键字:BindingUtils.bindProperty
需导入:import mx.binding.utils.BindingUtils;
/**
* 动态绑定
* @params site:Object 被绑定对象
* @params prop:String 被绑定对象的属性,如textInput的text属性
* @params host:Object 监视者对象
* @params chain:Object 监视者对象的属性
* @return ChangeWatcher
* **/
BindingUtils.bindProperty(site:Object,prop:String,host:Object,chain:Object);


代码如下:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
    layout="absolute" initialize="init();">

<mx:Script>
        <!--[CDATA[
            import mx.binding.utils.BindingUtils;
            import mx.binding.utils.ChangeWatcher;

private var watcher1:ChangeWatcher;
            private var watcher2:ChangeWatcher;

/**
             * 动态绑定
             * @return void
             * **/
            private function Binding():void {

//绑定ID为txt2的txtInput
                //绑定属性为txtInput的text
                //监视者ID为txt1的txtInput
                //监视者属性为txtInput的text
                watcher1 = BindingUtils.bindProperty(txt2,"text",txt1,"text");

//绑定ID为txtComb的txtInput
                //绑定属性为txtInput的text
                //监视者ID为comb的ComboBox
                //监视者属性为ComboBox的value
                watcher2 = BindingUtils.bindProperty(txtComb,"text",comb,"value");
            }

/**
             * 解除绑定
             * @return void
             * **/
            private function UnBinding():void {
                //解除绑定
                watcher1.unwatch();
                watcher2.unwatch();
            }        
        ]]-->
    </mx:Script>

<mx:ApplicationControlBar dock="true">
        <mx:Button label="动态绑定" click="Binding();"/>
        <mx:Button label="解除绑定" click="UnBinding();"/>
    </mx:ApplicationControlBar>

<mx:VBox width="200" height="200">

<mx:Spacer height="30"/>

<mx:TextInput id="txt1"/>
        <mx:TextInput id="txt2"/>

<mx:Spacer height="30"/>

<mx:ComboBox id="comb">
            <mx:dataProvider>
                <mx:Array>
                    <mx:String>Beijing</mx:String>
                    <mx:String>Shanghai</mx:String>
                    <mx:String>Hangzhou</mx:String>
                </mx:Array>
            </mx:dataProvider>
        </mx:ComboBox>

<mx:TextInput id="txtComb"/>
        </mx:VBox>
</mx:Application>

(0)

相关推荐

  • Flex 动态绑定BindingUtils.bindProperty

    关键字:BindingUtils.bindProperty 需导入:import mx.binding.utils.BindingUtils; /** * 动态绑定 * @params site:Object 被绑定对象 * @params prop:String 被绑定对象的属性,如textInput的text属性 * @params host:Object 监视者对象 * @params chain:Object 监视者对象的属性 * @return ChangeWatcher * **/

  • Flex Data Binding详解

    Data BindIng 什么时候发生: 1.在绑定源属性值发生改变时发生. 2.在绑定源发出initialize事件时绑定发生一次. 让属性具有可绑定功能: 一般的,只要在属性前加上 [Bindable] 或 [Bindable(event="eventname")] 元标记即可 注意: 如果没有标出触发绑定的事件,正如[Bindable],Flex会自动为绑定加上propertyChange事件,当源数据发生变化时,Flex将自动派发该事件,触发数据绑定.如果修改后数据和源数据&q

  • Flex 性能优化常用手法总结

    众所周知,目前国内的宽带应用并不是像很多发达国家发达,个人应用带宽基本上都是2M以下的,怎么样能够使你的Flex应用能够流畅的运行在客户端的问题,成为了制约每个Flex应用开发程序员的大难题.在这里,我收集整理了一下网络上关于这方面经验,欢迎大家补充. 基本原则: 1. 从外部加载媒体(Media) Heider提到了一个常用的Flex最佳实践--限制嵌入到应用/SWF文件中的媒体的数量,如图像.影片及mp3等资源都可以从外部的SWF文件加载. Flex框架可以直接将图片.mp3及字体等资源编译

  • Flex 编程注意之性能优化、垃圾回收的一些总结

    以下的内容是某个QQ群中得到的,我经过了一些整理和补充,希望对大家有所帮助. 注意:以下内容不是我原创的,请勿擅自转载,本文只是用作记录和总结.:) 垃圾回收的一些知识总结: 1.被删除对象在外部的所有引用一定要被删除干净才能被系统当成垃圾回收处理掉. 2.父对象内部的子对象被外部其他对象引用了,会导致此子对象不会被删除,子对象不会被删除又会导致了父对象不会被删除. 3.如果一个对象中引用了外部对象,当自己被删除或者不需要使用此引用对象时,一定要记得把此对象的引用设置为null. 4.本对象删除

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

    微信小程序 动态绑定事件并实现事件修改样式 实例代码 wxml <scroll-view class="reportTypeScroll" scroll-x="true" scroll-left="{{toLeftNum}}"> <block wx:for-items="{{reportTypeList}}" wx:key="{{index}}"> <text type=&qu

  • flex 优化技巧 收集[提升性能]

    1.当创建一个数组的时候避免用new操作符,用 var a:Array = [];而不用var a:Array = new Array(); 2.快速的复制一个数组: var copy : Array = sourceArray.concat (); 3.设置一个数组的值是非常忙的: employees.push ( employee ); employees[2] = employee; 4.从一个数组中取得值的速度是设置一个数组值的两倍快: var employee : Employee =

  • FLEX内存优化技巧集合

    1. 被删除对象在外部的所有引用一定要被删除干净才能被系统当成垃圾回收处理掉: 2. 父对象内部的子对象被外部其他对象引用了,会导致此子对象不会被删除,子对象不会被删除又会导致了父对象不会被删除: 3. 如果一个对象中引用了外部对象,当自己被删除或者不需要使用此引用对象时,一定要记得把此对象的引用设置为null; 4. 本对象删除不了的原因不一定是自己被引用了,也有可能是自己的孩子被外部引用了,孩子删不掉导致父亲也删不掉: 5. 除了引用需要删除外,系统组件或者全局工具.管理类如果提供了卸载方法

  • vue中的style样式如何动态绑定

    目录 style样式如何动态绑定 动态设置style样式 style样式如何动态绑定 方法一: (1) html中:  <div class="videoMa" ref="videoMa" style="width:100%;height:100%;">  <div id="playWnd" class="playWnd"  :style="{width:videoBox.wid

  • 全面了解flex的用途

    一.可以利用flex来布局一个div在另一个div里面水平垂直居中 如:html代码: <div class="container"> <div class="box"> </div> </div> css代码: .container{ width:600px; height:400px; border:1px solid blue; display: flex; justify-content:center; ali

  • Flex中对表格某列的值进行数字格式化并求百分比添加%

    1.问题背景 一般的,需要对表格中某列的数值进行格式化,对该数值乘以100,并保留两位小数,添加"%" 2.实现实例 <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark"

随机推荐