flex4.6事件分派+组件+参数传递
<?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="955" minHeight="600"
xmlns:hz="com.hz.*"
creationComplete="initHandler(event)">
<fx:Script>
<![CDATA[
import Event.AddStuEvent; import mx.collections.ArrayCollection;
import mx.controls.Alert;
import mx.events.FlexEvent; protected function initHandler(event:FlexEvent):void
{
stuInfo.stuColl=new ArrayCollection();
addEventListener(AddStuEvent.ADD_USER,addBtn);
} protected function addBtn(event:AddStuEvent):void
{ if(stuMana.stuName.text!=""&&stuMana.stuAge.text!="")
{
stuInfo.stuColl.addItem(event.object);
}
else
{
Alert.show("两项都要填三!","温馨提示");
}
} ]]>
</fx:Script>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<s:layout>
<s:HorizontalLayout gap="30" paddingBottom="30" paddingLeft="30" paddingRight="30" paddingTop="30"/>
</s:layout>
<hz:StuInfo id="stuInfo" width="50%" height="100%"/>
<hz:StuManager id="stuMana" width="50%" height="100%"/>
</s:Application>
上面是主application文件:
<?xml version="1.0" encoding="utf-8"?>
<s:Panel xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
title="添加学生"
creationComplete="initHandler(event)">
<fx:Script>
<![CDATA[
import Event.AddStuEvent; import mx.events.FlexEvent; public function initHandler(event:FlexEvent):void
{
addBtn.addEventListener(MouseEvent.CLICK,addBtnHandler);
} protected function addBtnHandler(event:MouseEvent):void
{
var object:Object=new Object();
object={sName:stuName.text,sAge:stuAge.text};
dispatchEvent(new AddStuEvent(AddStuEvent.ADD_USER,object))
} ]]>
</fx:Script>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<s:Form width="100%" height="100%">
<s:FormItem label="学生姓名:" required="true" width="100%">
<s:TextInput id="stuName" width="100%"/>
</s:FormItem>
<s:FormItem label="学生年龄" required="true" width="100%">
<s:TextInput id="stuAge" width="100%"/>
</s:FormItem>
</s:Form>
<s:controlBarContent>
<s:Button label="添加学生:" id="addBtn"/>
<s:Button label="修改信息" id="updateBtn"/>
</s:controlBarContent>
<s:controlBarLayout>
<s:HorizontalLayout horizontalAlign="center" gap="50" paddingTop="9" paddingBottom="9"/>
</s:controlBarLayout>
</s:Panel>
下面是自定义事件:定义了一个常量和要传递的参数,event属性只设置了string,bubble默认为false。
package Event
{
import flash.events.Event; public class AddStuEvent extends Event
{
public static const ADD_USER:String="addUser";
private var _object:Object=null;
public function AddStuEvent(type:String, object:Object)
{
super(type,true);
_object=object;
} public function get object():Object
{
return _object;
} public function set object(value:Object):void
{
_object = value;
}
override public function clone():Event
{
return new AddStuEvent(type,object);
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<s:Panel xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
title="学生列表"
creationComplete="initHandler(event)">
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.events.FlexEvent;
[Bindable]
public var stuColl:ArrayCollection=null;
protected function initHandler(event:FlexEvent):void
{
// TODO Auto-generated method stub }
private function stuArr(item:Object):String
{
var str:String=item.sName+"哈哈"+item.sAge;
return str;
}
]]>
</fx:Script>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<s:List id="stuList" width="100%" height="100%" dataProvider="{stuColl}" labelFunction="stuArr"> </s:List>
<s:controlBarContent>
<s:Button label="删除学生" id="deleteBtn"/>
</s:controlBarContent>
</s:Panel>
flex4.6事件分派+组件+参数传递的更多相关文章
- 进程内部异步事件调用组件Async-Event
项目坐标:https://github.com/cncduLee/async-event async-event 进程内部异步事件调用组件 解决什么问题: 加速服务处理效率.提供进程级别的事件发布和异 ...
- OneAlert 入门(四)——事件分派和通知必达
OneAlert 是国内首个 SaaS 模式的云告警平台,集成国内外主流监控/支撑系统,实现一个平台上集中处理所有 IT 事件,提升 IT 可靠性.有了 OneAlert,你可以更快更合理地为事件划分 ...
- SSIS中执行SQL任务组件参数传递的问题
原文:SSIS中执行SQL任务组件参数传递的问题 症状: 执行SQL任务,传递参数到子查询中,执行报错. 错误: 失败,错误如下:"无法从使用 sub-select 查询的 SQL 语句中派 ...
- jQuery事件触发和参数传递
jQuery事件触发和参数传递: 参考:http://www.jb51.net/article/36249.htm <%@ page language="java" impo ...
- Android事件分派机制
最近一直在学习Android里面的事件分派机制,感觉很奇妙,看了很多博客和分析,才在脑子里形成了一个模糊的概念,对事件分派有了一定的认识. 于是,我画了一个图来简单明了的表述Android中事件的分派 ...
- Android--Otto事件总线 -- 组件之间通讯框架使用 --模式解析
前言:Otto事件总线 -- 组件之间通讯框架 对于之前的情况activity之间或者fragment之间等跳转传值一般都是用bundle.intent等,从activityA --- activit ...
- vue30-单一事件管理组件通信: vuex
------------------------------------------------------ 可以单一事件管理组件通信: vuex var Event=new Vue(); Event ...
- EventDispatcher 事件分发组件
引言 考虑这样一个问题,现在你想给为你的项目提供一个插件系统,插件可以添加一些方法,或者在某些方法执行之前或者之后做些事情,而不干扰其他插件.要实现这个系统,简单的单继承不是个好办法,即使多继承在PH ...
- vuejs单一事件管理组件间的通信
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
随机推荐
- 【微信公众号】将微信公众号消息里的FromUserName即OpenID转成UnionID
最近在调试微信公众号开发者模式,处理公众号消息,收到如下回调消息内容 <xml><ToUserName><![CDATA[gh_29********21]]>< ...
- ASP.NET DropDownList1_SelectedIndexChanged使用
DropDownList1.AutoPostBack 属性 今天写代码给DropDownList1添加DropDownList1_SelectedIndexChanged事件,在运行测试时发现Drop ...
- Windows环境下安装IPython NoteBook
本文的环境:64位windows8,32位python2.7.首先你要保证电脑上装有python,并且设置成环境变量. 1.windows命令行进入到python目录下的Scripts文件,或者在该目 ...
- 搜索-hdu-3720-Arranging Your Team
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3720 题目大意: 有23个人,告诉每个人的名字,能力值,以及踢球的位置.要求选出1个守门员,2个前锋 ...
- javascript中错误使用var造成undefined
在javascript中依据变量作用的范围不同分为局部变量和全局变量,直接定义的变量是全局变量,全局变量能够被全部的脚本訪问:在函数中定义的变量是局部变量,局部变量仅仅在函数内有效. 假设全局变量和局 ...
- Android代码混淆
混淆器(ProGuard) --- 混淆器通过删除从未用过的代码和使用晦涩名字重命名类.字段和方法,对代码进行压缩,优化和混淆.结果是一个比較小的.apk文件,该文件比較难进行逆向project.因此 ...
- 从零开始学习jQuery-------jQuery元素选择器(三)
下面我们来介绍一下jQuery元素选择器,在Web开发中我们最常用的操作是获取元素,然后对获取的元素进行一系列的操作,jQuery根据获取页面元素的不同,可以将jQuery选择器分为四大类:基本选择器 ...
- Linux禁止ping服务
ping是一个通信协议,是ip协议的一部分,tcp/ip 协议的一部分.利用它可以检查网络是否能够连通,用好它可以很好地帮助我们分析判定网络故障.应用格式为:Ping IP地址.但服务启用ping有时 ...
- (转)dedecms入门
学dedecms一段时间了,把我的入门体会和大家分享一下. 什么是dedecm cms(内容管理系统):现在有各种内容模型,如书评(包括书名,出版社,评论等字段).cms一般有用户后台,网页的用户可以 ...
- singleTask TaskAffinity allowTaskReparenting
关于singleTask TaskAffinity allowTaskReparenting 一.Activity的LaunchMode 1.standard 2.singleTop:FLAG_ACT ...