ExtJs4学习笔记(四) 参数传递

本文介绍了ExtJS4中参数传递的几种方式,包括通过config对象的set;get简便写法,构造器传递参数,以及使用Ext.create创建对象时的参数传递。此外,还提及了组件间参数传递的重要性,尽管在当时还未深入讲解组件,但它是实际开发中最常用的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 传统set get

采用传统的set,get访问对的形式对属性进行赋值和读取,代码如下
//加载成功后执行
Ext.onReady(function(){
	//声明类
	Ext.define('person',{
		name:'',//默认为''
		setName:function(value){//设置name方法
			this.name=value;
		},
		getName:function(){//获得get方法
			return this.name;
		}
	});
	var per=Ext.create('person');//创建对象
	per.setName('name1');//设置name='name1'
	Ext.Msg.alert('姓名',per.getName());//获得name值并且以对话框形式输出
})

效果如图:


  • set;get简便写法

Ext提供一种更便捷的写法,直接把需要创建set;get访问对的属性放入config:{}大括号中,多个参数用逗号分隔开。感觉有点像C#的{set;get},但是在写法上更便捷,下面对上面例子进行简化,代码如下

//加载成功后执行
	Ext.onReady(function(){
		//声明类
		Ext.define('person',{
			config:{//自定创建set get方法
				name:''
			}
		});
		var per=Ext.create('person');//创建对象
		per.setName('name1');//设置name='name1'
		Ext.Msg.alert('姓名',per.getName());//获得name值并且以对话框形式输出
	})

效果和传统set;get的例子效果一样


  • 构造器传递

写法和java或者c#的构造器传值很像,而且和java一样构造器方法是最先执行方法,下面附上代码

//加载成功后执行
	Ext.onReady(function(){
		//声明类
		Ext.define('person',{
			constructor:function(name){
				Ext.Msg.alert('传递参数','name:'+name)
			}
		});
		var per=new person('nameParams');
	})

效果如图:


  • Ext.create传递

至于为什么要采用Ext.create方式创建对象,是因为ext不鼓励使用new方法创建对象,今后都会采用Ext.create的方式来创建对象,下面是Ext.create的参数传递方法

//加载成功后执行
	Ext.onReady(function(){
		//声明类
		Ext.define('person',{
			constructor:function(name){
				Ext.Msg.alert('传递参数','name:'+name)
			}
		});
		//通过Ext.create创建对象
		var per=Ext.create('person','nameParams');
	})

效果和采用new的方式一样:


  • 组件间传递参数

虽然我们还没有讲到组件,但是我们还是了解一下,因为这是我们今后使用最多的参数传递方法

//加载成功后执行
    Ext.onReady(function(){
	//声明自定义myPanel类
	Ext.define('myPanel',{
		extend:'Ext.panel.Panel',//继承panel
		initComponent:function(){//初始化组件模板方法
			Ext.apply(this,{	//apply表示替换,第一个参数表示被替换对象,第二个表示替换后对象
				title:this.title,	//panel标题
				height:this.height,	//panel高度
				width:this.width,	//panel宽度
				renderTo:Ext.getBody()//输出到body中
			});
			//调用父类方法
			this.callParent();
		}
	})
	//第一个对象表示创建对象名,第二个表示要传递参数
	Ext.create('myPanel',{title:'MyTitle',height:100,width:80});
})

效果如图:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值