`
pizazz_ex
  • 浏览: 20211 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
社区版块
存档分类
最新评论

Function.apply在组件中的应用

阅读更多
在Flex的方法参数中,可以使用预先赋值的方式,所以在这样的方法中参数的数量就不固定,因此可以在组件中方法设置参数的时候使用Function.apply方法,代码如下:
<?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" 
			   xmlns:container="pizazz.flex4.container.*"
			   minWidth="955" minHeight="600">
	<s:layout>
		<s:VerticalLayout />
	</s:layout>
	<fx:Script>
		<![CDATA[
			import mx.containers.Form;
			import mx.containers.FormHeading;

			private function clikcHandler():void{
				addElement(createForm("1", ["点击1", null, 200]));
				addElement(createForm("2", ["点击2"]));
			}
			
			private function createForm(label:String, button:Array):Form{
				const _form:Form = new Form();
				var _head:FormHeading = new FormHeading();
				_head.label = label;
				var _btn:Button = buttonFactory.apply(null, button);
				_form.addElement(_head);
				_form.addElement(_btn);
				return _form;
			}
				
			public function buttonFactory(label:String,
					onClick:Function = null, width:Number = NaN, 
					icon:Class = null, target:Button = null):Button{
				if(!target){
					target = new Button();
				}
				if(onClick != null){
					target.addEventListener(MouseEvent.CLICK, onClick);
				}
				if(icon != null){
					target.setStyle("icon", icon);
				}
				target.setStyle("cornerRadius", 0);
				target.width = width;
				target.label = label;
				return target;
			}	
		]]>
	</fx:Script>
	<s:Button width="100" label="点击" click="clikcHandler()" />
</s:Application>


这样应用,组件方法实现就比较灵活了
分享到:
评论

相关推荐

    Ext深入浅出 数据传输

    10.4.1 基本应用...................................233 10.4.2 对数据进行排序.......................234 10.4.3 从store中获取数据...............234 10.4.4 更新store中的数据...............236 10.4.5 加载...

    tab组件的使用

    tab组件的应用纯css $(function(){ $.tabs = function(obj){ return (this instanceof $.tabs) ? this.init.apply(this,arguments) : new $.tabs(obj) } //主动事件 通过编程触发 //被动事件 由用户的行为...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    第20章 filter在web开发中的应用 588 20.1 过滤器概述 588 20.2 filter api 589 20.2.1 filter接口 589 20.2.2 filterconfig接口 590 20.2.3 filterchain接口 590 20.3 过滤器的部署 591 20.4 过滤器的开发 ...

    ExtJSWeb应用程序开发指南(第2版)

    2.5.3 Ext.Function 2.5.4 Ext.Number 2.5.5 Ext.String 2.5.6 Ext.Object 2.6 本章小结 第3章 ExtJS4.0的基本功能 3.1 ExtJS组件配置说明 3.1.1 JSON介绍 3.1.2 ExtJS组件配置方式介绍 3.2 信息提示框...

    Ext Js权威指南(.zip.001

    9.8.2 在单页面应用中使用卡片布局实现“页面”切换 / 496 9.9 本章小结 / 498 第10章 重构后的grid / 500 10.1 grid的基类及其构成 / 500 10.1.1 概述 / 500 10.1.2 表格面板的运行流程:ext.panel.table / ...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    第20章 filter在web开发中的应用 588 20.1 过滤器概述 588 20.2 filter api 589 20.2.1 filter接口 589 20.2.2 filterconfig接口 590 20.2.3 filterchain接口 590 20.3 过滤器的部署 591 20.4 过滤器的开发 ...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    第20章 filter在web开发中的应用 588 20.1 过滤器概述 588 20.2 filter api 589 20.2.1 filter接口 589 20.2.2 filterconfig接口 590 20.2.3 filterchain接口 590 20.3 过滤器的部署 591 20.4 过滤器的开发 ...

    [原创]自己工作中常用的模板库,简化你的工作

    ★ 当把"智能指针/stl迭代器/C指针/前三者嵌套"都视为指针时,其内的最终值(非指针值)是一致的,在模板函数中,某些场景需要取得其最终的非指针值。 应用场景:转发模板函数,如 template&lt;typename T&gt; void ...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    第20章 filter在web开发中的应用 588 20.1 过滤器概述 588 20.2 filter api 589 20.2.1 filter接口 589 20.2.2 filterconfig接口 590 20.2.3 filterchain接口 590 20.3 过滤器的部署 591 20.4 过滤器的开发 ...

    精通JS脚本之ExtJS框架.part2.rar

    最后利用一个商品信息管理系统和一个企业任务管理系统,向读者演示了ExtJS在实际项目中的应用以及实现流程。  《精通JS脚本之ExtJS框架》附有配套光盘,提供了书中实例的源代码和视频教学文件。此外,读者还可以...

    精通JS脚本之ExtJS框架.part1.rar

    最后利用一个商品信息管理系统和一个企业任务管理系统,向读者演示了ExtJS在实际项目中的应用以及实现流程。  《精通JS脚本之ExtJS框架》附有配套光盘,提供了书中实例的源代码和视频教学文件。此外,读者还可以...

    McGraw C++程序调试实用手册

    第8章 在Windows代码中定位、分析和修复错误 8.l 使用两台计算机调试 8.1.l 准备远程目标计算机 8.1.2 准备主计算机 8.1.3 启动调试会话 8.2 简明Windows入门 8.2.l 基本的Windows代码 8.2.2 调试文件...

    Python核心编程第二版(ok)

     6.8.6 把Unicode应用到实际应用中   6.8.7 从现实中得来的教训   6.8.8 Python的Unicode支持   6.9 相关模块   6.10 字符串关键点总结  6.11 列表   6.12 操作符   6.12.1 标准类型操作符  ...

    Python核心编程第二版

     6.8.6 把Unicode应用到实际应用中   6.8.7 从现实中得来的教训   6.8.8 Python的Unicode支持   6.9 相关模块   6.10 字符串关键点总结  6.11 列表   6.12 操作符   6.12.1 标准类型操作符  ...

    javascript文档

    apply 方法 应用对象的一个方法,用当前对象代替另一对象。 arguments 属性 返回一个包含传递给当前执行函数的每个参数的数组。 Array 对象 提供对创建任何数据类型的数组的支持。 asin 方法 返回一个数的反正弦...

    JScript 语言参考

    apply 方法 应用对象的一个方法,用当前对象代替另一对象。 arguments 属性 返回一个包含传递给当前执行函数的每个参数的数组。 Array 对象 提供对创建任何数据类型的数组的支持。 asin 方法 返回一个数的反正弦...

    微软JavaScript手册

    apply 方法 应用对象的一个方法,用当前对象代替另一对象。 arguments 属性 返回一个包含传递给当前执行函数的每个参数的数组。 Array 对象 提供对创建任何数据类型的数组的支持。 asin 方法 返回一个数的反正弦...

Global site tag (gtag.js) - Google Analytics