ExtJs学习过程记录(一)
来源:互联网 发布:淘宝app软件流程图 编辑:程序博客网 时间:2024/05/29 18:45
转载自:http://jingjing0907.iteye.com/blog/2147748
刚刚开始学习ExtJs,网上查找资料,边学习边记录,防止边学边忘- -!
发布包里的内容并非都是必需的,比如文档 示例 源代码.
必需内容至少应包括:如下
ext-all.js:Ext核心库
ext-base.js :表示框架基础库
ext-all.js 和 adapter/ext/ext-base.js 包含了ext的所有功能,所有的JavaScript脚本都在这里
build/locale/ext-lang-zh_CN.js 是简体中文国际化资源文件
整个resources目录 :是CSS样式表和图片
只要自己的项目中包含上述内容,就可以使用Ext了,使用时,在页面导入下面的代码即可:
注意:导入时,请注意JavaScript脚本的顺序
- <link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css"/>
- <script type="text/javascript" src="../../adapter/ext/ext-base.js"></script>
- <script type="text/javascript" src="../../ext-all.js"></script>
- <script type="text/javascript" src="../../ext-lang-zh_CN.js"></script>
1)、Ext.onReady方法
这个方法会在DOM加载全部完毕后,保证页面内的所有元素能被Script引用(reference)之后调用。
- Ext.onReady(function() {
- alert("Hello World !");
- });
2)、Ext.define()函数负责创建一个新的类,支持两个参数,第一个参数是字符串类型的类名,第二个参数是object类型,其中可以填写
这个类型的字段和函数。
- Ext.define('demo.demo',{
- name:'Extjs',
- hello:function(){
- return 'Hello '+this.name;
- }
- });
3)、对象继承:可以直接通过Ext.define()的extend属性来实现,
定义的新类demo.DemoWindow 继承Ext.Window 所有功能,也扩展新功能
//相关代码如下:
- Ext.define('demo.DemoWindow',{
- extend:'Ext.Window', //继承Ext.Window
- title:'demo header', //设置一个默认的标题
- initComponent:function(){ //初始化类
- Ext.apply(this,{ //apply() 函数将一批属性批量复制给当前对象this
- items:[{
- html:'panel1'
- },{
- html:'panel2'
- }]
- });
- this.callParent(); //此函数实现对父类函数的快捷调用
- }
- );
4)、多重继承,Ext.define()遵守的依然是单根继承,在不破坏单根继承的前提下,提出了使用混入(mixin)的方式对多重继承的支持
- Ext.define('demo.DemoPanel',{
- extend:'Ext.Window',
- mixins:['demo.Demo']
- });
二)、统一的组件模型
我们日常开发中时接触的最多的还是各种组件与布局,通过组件、布局的各种组合最终才形成了功能强劲的应用,所以有必要首先对Ext的
组件模型有所了解。
1)Ext.Component
Ext中所有可视化组件都继承自Ext.Component,这种单根继承的模型保证所有组件都拥有相同的通用方法与生命周期.
组件最常见的几项功能包括:
initComponent() 初始化
render() 渲染
show() 显示
hide() 隐藏
作为基类,Ext.Component本身并没有包含任何格式,我们需要在使用时为它指定渲染的html内容,通过html参数传入。
实例代码如下:
- var box=new Ext.Component({
- el:'test001',
- style:'background-color:red;position:absolute;color:black;',
- pageX:100,
- pageY:50,
- width:200,
- height:150
- });
- box.render();
2)Ext.Panel
它是Ext中经常用到的一个组件,它直接继承Ext.Container。不同的是,Ext.Panel无需继承就可以直接使用。
设置属性有:
title:定义它显示的标题
tbar和bbar设置上下位置的工具条
collapseFirst,col设置lapsed,collapsedCls,collapsible 设置于面板折叠相关的配置。
floating和shadow 浮动阴影效果,以及使用html直接设置面板内容
pageX和pageY:设置距离边缘的距离
width和height 设置panel的长和宽
实例代码如下:
- var panel=new Ext.Panel({
- el:'test002',
- title:'测试标题',
- floating:true,
- shadow:true,
- draggable:true,
- html:'测试内容wwwww',
- pageX:100,
- pageY:100,
- width:200,
- height:200
- });
- panel.render();
3)Ext.Container
Ext.Container继承自Ext.Component,它提供了连个重要的参数:layout和items
layout:参数指定当前组件使用何种布局
items:参数中包含的是当前组件中的所有子组件。
还有一个重要的概念就是xtype:
Ext中的一大特色就是使用xtype来实现简化配置和延迟布局中组件的初始化。对于没有设置xtype的组件,Ext会统一当做Ext.Panel使用,
所以在使用Ext.Panel作为子组件时可以直接省略xtype参数。
实例代码如下:
- new Ext.Viewport({
- layout:'border',
- items:[
- {xtype:'panel',region:'north'},
- {region:'south'},
- {region:'west'},
- {region:'east'},
- {region:'center'}
- ]
- });
- ExtJs学习过程记录(一)
- ExtJs学习过程记录(二)
- ExtJs学习过程记录(三)
- FPGA学习过程记录一
- Extjs 学习之记录
- 学习过程:ExtJs入门
- Hibernate4入门学习过程记录一
- 学习ExtJS(一)
- 《extjs 学习笔记一》
- ExtJS学习笔记一
- ExtJs学习(一)
- ExtJs学习一
- ExtJS学习笔记(一)
- extjs学习准备(一)
- EXTJS学习一
- extjs学习(一)
- ExtJs学习(一)
- ExtJs学习笔记一
- Socket.IO入门
- 判断文本框里是否输入值,如果没有输入就会让其焦点自动到其那儿
- ROS 创建node
- POI charts
- Web 站点提速的最佳实践(Best Practices for Speeding Up Your Web Site)
- ExtJs学习过程记录(一)
- Android--GestureDetector类及其用法
- 浏览器原理——浏览器内核模块
- [Swft]字典
- 有关解析XML的几种方式和方法
- 博文分享: jersey client (2.0) 设置 connection pooling、 timeout 等
- maven项目出现感叹号的问题
- Base64
- 引用另一个Android工程的方法详解