ExtJs4入门之一: create() 和 define()方法


一: hello world

1.jsp

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%
	String path = request.getContextPath();
	String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<html>
<head>
<title>Ext界面测试</title>

<!-- 1.jQuery -->
<script type="text/javascript" src="<%=basePath %>js/jquery-1.7.1.min.js"></script>
<!-- 2.Ext -->
<link rel="stylesheet" type="text/css" href="<%=basePath %>js/extjs/resources/css/ext-all.css" />
	<!-- 用ext-all.js 或者用 ext-all-debug.js
	<script type="text/javascript" src="<%=basePath %>extjs/ext-all.js"></script>-->
<script type="text/javascript" src="<%=basePath %>js/extjs/ext-all-debug.js"></script>
<script type="text/javascript" src="<%=basePath %>js/extjs/locale/ext-lang-zh_CN.js"></script>
<!-- 3.OthersJs -->
<script type="text/javascript" src="<%=basePath %>extDemo/extDemo.js"></script>
<!--<script type="text/javascript" src="<%=basePath %>systemConfig/extDemo/extEditorGridDemo.js"></script> 
<script type="text/javascript" src="<%=basePath %>systemConfig/extDemo/extPanelDemo.js"></script> -->

2.js:

Ext.onReady(function(){
	
	Ext.Msg.alert("hello","hello Ext world!");
	//"Msg"是后边完整类名的别名,相当于: Ext.MessageBox.alert("hello","hello Ext world!");
		
})



二: Ext创建对象 定义类

1.先用一下原生Js中定义类和对象的方法

//==>原生Js声明类
function user()
{
	//这里this相当于其他语言的public 
	this.name = "rt";
	this.age = 24;
	//var相当于其他语言的private
	var male = "male";

	this.getMale = function(){
		return male;
	}
}
var u = new user();//实例化对象
alert(u.name + "_" + u.getMale());


//==>原生Js声明对象
var person = {
	name:"rt",
	age:24,
	getAge : function(){
		return "Age is"+ this.age;
	}
}
alert(person.name + "_" + person['age'] + "_" + person.getAge());



2.Ext中用原生Js定义window ,和系统推荐的create创建对象

	//==>1.用Js原生方法初始化window对象 ( 第一个window小写, 第二个大写)
	var win1 = new Ext.window.Window({
		height:200,
		width:300,
		title:"new出来的win"
	});	
	//对于实例化的对象, 调用方法 (不渲染是不会出现在窗体中的)
	win1.show();
	
	
	//==>2.Ext推荐使用 "create" 来实例化:
	var win2 = Ext.create('Ext.window.Window',{
		height:200,
		width:400,
		title:"create出来的win",
	});
	win2.show();


3.Ext中定义类 ( 是类而不是对象 , 类似于项目中的model )

继承是用extend(单继承)和mixins(多继承)关键字

	//==>3.Ext中创建类,而非对象( 类似于之前项目中Model )
	Ext.define("winDefined",{
		extend:"Ext.window.Window",//继承自Window

		title:"define的win",//初始属性

		initComponent:function(){
			this.callParent(arg);
		}
	});
	var winObj = Ext.create('Ext.window.Window',{height:200,width:300,title:"实例化自定义的win"});
	winObj.show();



三:Ext对原生Js的拓展

比如说下边这个例子, 类似的方法巨多

//==>对原生Js的其他拓展
Ext.onReady(function(){
	var myArray = [1,2,3,-3,-2,-1];

	Ext.Array.every( myArray ,	function(str){
		if( str > 0 )
		{
			return true;
		}
		if( str < 0 )
		{
			alert(str);
			return false;
		}
	} ,this)
})












  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值