flex_事件绑定说明示例;

<!-- Demo_事件绑定(MXML中的绑定) -->

<?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"
               xmlns:mx="library://ns.adobe.com/flex/mx"
               minWidth="1024" minHeight="768" pageTitle="TheStudioOfCenyebao">
    
    <fx:Declarations>
        
    </fx:Declarations>
    
    <fx:Script>
        <![CDATA[
            [Bindable]    //[Bindable]元素据的用意就是监视这个变量的任何变化。
            protected var _labelText:String = "Label befor event!";
        ]]>
    </fx:Script>
    
    <!--view-->
    <s:VGroup width="350" height="120" horizontalCenter="0" verticalCenter="0" paddingLeft="20" paddingTop="20">
        <s:Label id="myLbl" text="{_labelText}"/>
        <s:Button id="myBtn" label="ChangeLabel">
            <s:click>
                <![CDATA[
                _labelText = "Label changed(" + Math.round(Math.random()*10) + ")!";
                ]]>
            </s:click>
        </s:Button>
    </s:VGroup>

</s:Application>


  <!-- Demo_事件绑定(使用ChangeWatcher的ActionScript绑定) -->

<?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"
               xmlns:mx="library://ns.adobe.com/flex/mx"
               minWidth="1024" minHeight="768" pageTitle="TheStudioOfCenyebao"
               applicationComplete="init()">
    
    <fx:Script>
        <![CDATA[
            // 改类会监视被绑定属性值的任何变化,如果有变化发生,该类就会触发必要的事件来监视这个值。
            import mx.binding.utils.ChangeWatcher;
            import mx.events.PropertyChangeEvent;    
            
            protected var _watcher:ChangeWatcher
            
            protected function init():void{
                toggleWatch();
            }
            
            // 切换是否监视变量;
            protected function toggleWatch():void{
                if(_watcher && _watcher.isWatching()) {    // 判断监视器是否处于活动状态;
                    _watcher.unwatch();    // 移除监视的变量_关闭;
                    toggleButton.label = "startWatch";
                } else {    // 默认打开监视功能;
                    _watcher = ChangeWatcher.watch(inputfield, "text", onTextChange);
                    toggleButton.label = "stopWatching";
                }
            }
            
            // textinput值改变后执行的函数;
            protected function onTextChange(event:Event):void{
                myLabel.text = inputfield.text;
            }
        ]]>
    </fx:Script>

    <fx:Declarations>
        <!-- 非可视元素 -->
    </fx:Declarations>
    
    <!--view-->
    <s:VGroup horizontalAlign="right" horizontalCenter="0" verticalCenter="0">
        <s:HGroup>
            <s:TextInput id="inputfield" text="start text"/>
            <s:Label id="myLabel" fontWeight="bold" fontSize="18"/>
        </s:HGroup>
        <s:Button id="toggleButton" label="WatchText" click="toggleWatch()"/>
    </s:VGroup>
    
</s:Application>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值