Flex的Popup在PureMVC中的数据传出

Popup好像是Flex中的孤儿,对它的处理都要采用特殊的方法。

传出Event要采用dispatch(New Event('..', true)), 将Event Bubble up以后,由systemManager来Listen才可以听得到。但如果Popup不光要表达一个Event呢,比如在Popup中的表单中填好以后,怎么把数据发出去呢?

答案:采用CustomEvent包含自定义的数据

同一个CustomEvent还可以通过Event的type来用于不同的目的,比如同一个包含用户数据的Event可以用来
更姓用户信息,也可以用来重置用户密码。
new CustomEvent(CustomEvent.UPDATE, data)
new CustomEvent(CustomEvent.RESET, data)

package chenxiao.study {
  import flash.events.Event;

  public class UpdateUserEvent extends Event {
    public static const UPDATE_USER:String = "UpdateUserEvent";

    public static const RESET_PASSWORD:String = "ResetPasswordEvent";

    public var data:String;

    public function UpdateUserEvent(
        type:String, 
        data:String,
        bubbles:Boolean = true,
        cancelable:Boolean = true) {
      super(type, bubbles, cancelable);

      this.data = data;
    }

    public override function clone():Event {
      return new UpdateUserEvent(type, data);
    }
  }
}

转载:http://blog.sina.com.cn/s/blog_538d55be0100i7ud.html

你可能感兴趣的:(Flex的Popup在PureMVC中的数据传出)