• Flex事件机制学习-自定义事件实现类间通信 .


    今天,学习Flex自定义事件,可以使两个类通信,定义一个Main类。

          public class Main extends Sprite
         {
                public function Main()
                {

               //演示ChildSprite类是与Main类通信,ChildSprite类稍后说明;

                 var child:ChildSprite=new ChildSprite();

              //指示该实例的属性值
                child.flag="01";

               //监听器接受 事件类型“Replay” ,监听事件源 child,处理函数 main_echo

                child.addEventListener("Replay",main_echo);

               //定义事件对象作为发信息,事件类型“Echo”
                var say:TextEvent=new TextEvent("Echo");

                 //事件对象 传送信息
                say.text="发信息给你";

                //抛出事件 事件类型“Echo” ,监听事件源 child,监听器注册稍后说明
                 child.dispatchEvent(say);   
          }
        //事件处理函数,响应事件类型“Replay”
         private function main_echo(event:TextEvent):void{

                      //处理收到的信息,实现通信目的
                trace(event);
           }
     }

        现在看看ChildSprite的定义,ChildSprite.as

       

    public class ChildSprite extends Sprite
     {

      //定义一个属性值,表示出不同实例

      private var _flag:String;
      
      public function ChildSprite()
      {
            super();
            _flag="";

           //监听器接受 事件类型“Echo” ,监听事件源 this,处理函数ChildSprite_fromMain

          //但在main抛出“Echo”事件就可以监听,处理

            addEventListener("Echo",ChildSprite_fromMain);
      }
      
            //处理“Echo”事件

      private function ChildSprite_fromMain(event:TextEvent):void{

             //flag=01,就是这个输出

             trace(ChildSprite(event.currentTarget).flag);

             //处理收到的信息,实现通信目的
            trace(event);

            //收到“Echo”事件,定义一个“Replay”事件对象作为回应

             var replay:TextEvent=new TextEvent("Replay");
             replay.text="收到你的信息";

             //抛出“Replay”事件
             dispatchEvent(replay);
      }

      public function get flag():String
      {
       return _flag;
      }

      public function set flag(value:String):void
      {
       _flag = value;
      }
      
      
     }

    运行结果:

  • 相关阅读:
    MVC HTTP 错误 403.14
    web.config connectionStrings 数据库连接字符串的解释(转载)
    bootstrap div 弹出与关闭
    jquery操作select(取值,设置选中)
    VS2013使用EF6与mysql数据库
    php中创建和调用webservice接口示例
    java script 确认框
    mysql中判断记录是否存在方法比较
    根据Unicode编码用C#语言把它转换成汉字的代码
    微软架构师解读Windows Server 2008 R2新特性
  • 原文地址:https://www.cnblogs.com/amylis_chen/p/3848741.html
Copyright © 2020-2023  润新知