本篇介绍如何创建一个ExtJS应用程序。并通过创建目录、导入文件、编写代码及分析代码等步骤来解释第一个ExtJS程序。
目录
1. 创建程序
1.1 创建目录建议
1.2 实际目录
1.3 index.html
1.4 运行图
2. 代码分析
2.1 Ext.onReady()
2.2 Ext.create()
1. 创建程序
1.1 创建目录建议
根据官方建议,创建一个ExtJS应用程序的目录推荐如下:
- appname
| - app
| - namespace
| - Class1.js
| - Class2.js
| - ...
| - extjs
| - resources
| - css
| - images
| - ...
| - app.js
| - index.html
appname目录:应用程序的根目录。
app目录:业务代码。
extjs目录:存放ExtJS各JS文件。
resources目录:资源目录;包含CSS和图片。
app.js文件:应用程序的逻辑js文件。
index.html文件:应用程序的入口点。
可以看出,整个目录只有一个html文件,其他的业务都是通过Js文件创建。
ExtJS非常适合SAP(单页面应用)的程序,除了入口的index.html,其他业务都可通过js文件来进行开发和管理。
1.2 实际目录
可根据需要:
1) 导入ext-4.2.1-gpl.zip里的ext-all.js到项目的 extjs4.2 目录里。
2) 导入ext-4.2.1-gpl.zip中的Resources到项目的 Resources 目录里。
1.3 index.html
index.html文件代码如下:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>ExtJS4.2</title>
<meta charset="utf-8" />
<link href="Resources/ext-theme-neptune/ext-theme-neptune-all.css" rel="stylesheet" />
<script src="ExtJS4.2/ext-all.js"></script>
<script src="app.js"></script>
<script>
Ext.onReady(function () {
Ext.create('Ext.panel.Panel', {
width: '100%',
title:'Test',
renderTo: Ext.getBody(),
items: [
Ext.create('Ext.form.Display', {
width: '100%',
value: '第一个ExtJS程序'
})
]
});
});
</script>
</head>
<body>
</body>
</html>
1.4 运行图
2. 代码分析
2.1 Ext.onReady()方法
Ext.onReady( fn, [scope], [options]) :传入一个函数,当DOM和所需要的类都加载完毕后执行此函数。
参数:
①fn {function} :加载完毕要执行的函数。
②scope {object} 可选 :回调函数的作用域。
③options {object} 可选 :在创建事件时,设定创建的机制。此函数最终调用 Ext.util.Event.addListener() 方法;可在里面找到相关的设置。例如 priority 字段表示事件创建是否优先;如第二个顺序加载的Ext.onReady()中options设置为 {priority:true},那么此Ext.onReady()会在第一个加载的Ext.onReady()之前执行(前提是第一个Ext.onReady()没有设置{priority:true})。
2.2 Ext.create()方法
Ext.create( name, [args] ) :创建指定类的实例。
参数:
①name {function} :需要创建实例的类名或别名。
②args {object} 可选 :初始化实例时的传参。
返回值:
{object} :返回实例。
2.2.1 Ext.create('Ext.panel.Panel', {})
Ext.create('Ext.panel.Panel', {}) :表示创建一个 panel 组件。
renderTo: Ext.getBody() :在Body区域里呈现此组件。
2.2.2 Ext.create('Ext.form.Display', {})
Ext.create('Ext.form.Display', {}) :创建一个 Display 组件。
在这个示例中,我们把 Display组件放入到 panel 容器里了。
ExtJS 4.2 第一个程序的更多相关文章
-
Android开发-之第一个程序:HelloWorld!
小编觉得不管学习什么编程的时候,第一个程序都是要求打印输出一个"HelloWorld!",那就从最简单的HelloWorld开始吧!哈哈~~~~ 一.创建一个Android工程 1 ...
-
[Fluent NHibernate]第一个程序
目录 写在前面 Fluent Nhibernate简介 基本配置 总结 写在前面 在耗时两月,NHibernate系列出炉这篇文章中,很多园友说了Fluent Nhibernate的东东,也激起我的兴 ...
-
rails再体验(第一个程序)
掌握redmine plugin开发的目标在2016年未实现,2017年继续. 选择<Ruby on Rails Tutorial>教程,windows安装railsinstaller,该 ...
-
OpenGL学习笔记1——第一个程序
学习的参考书基本是按照GL编程指南,如果有消息机制概念,对于GLUT的理解是很自然的.下面就按照自己写的第一个程序详细解释一下GL,还是比较容易上手的. 程序实现的功能是,根据当前随即种子摇出来的结果 ...
-
Android 第一个程序 及 环境搭配
一. JDK配置 1.找到jdk安装路径 2.配置环境变量(建议配置在系统变量里面) 1).配置JAVA_HOME变量 2).配置 CLASSPATH 环境变量 CLASSPATH=.;%JAVA_H ...
-
unix 网路编程(卷一)第一个程序编译过程
unix卷一去年暑假买的到现在才开始看无比惭愧,而且惭愧第一个程序就断断续续弄了几天,要好好写程序了,马上要找工作了,下面介绍下把本书第一个程序跑起来的过程: 搜各种博客 我用系统的是ubuntu 1 ...
-
Hadoop学习历程(三、第一个程序)
根据之前的操作,我们已经可以正常的启动Hadoop了,关于真正的集群我会在之后进行说明.现在我们来看一下第一个程序吧 1. 在eclipse上建立一个java项目 2. 将 /usr/hadoop/s ...
-
Python2.7.3 学习——第一个程序 Hello Python World
Hello World 每学一门语言开始的第一程序都是Hello World ,当然了Python也不例外,下面开始我们的Python第一个程序编写: 1,命令行: (1)打开终端,输入python, ...
-
【 D3.js 入门系列 — 1 】 第一个程序 HelloWorld
记得以前刚上大一学 C 语言的时候,写的第一个程序就是在控制台上输出 HelloWorld .当时很纳闷,为什么要输出这个.老师解释说所有学编程入门的第一个程序都是在屏幕上输出 HelloWorld, ...
随机推荐
-
git 命令学习
last-update: 2016年10月27日 1. git stash 简短描述 当你正在进行项目中某一部分的工作,但是里面的东西处于一个比较杂乱的状态,但是却想要切换到其他分支.问题是,你不想提 ...
-
BarTender如何将条码下的数字嵌入到条码中
现今社会,在各种包装箱子.书籍.超市商品等东西上面,必不可少的绝对要数条形码或者二维码了.有时候,根据客户的需求或者其他条件限制等原因,我们需要将BarTender 2016条码下的数字嵌入到条码中. ...
-
C# 发送邮件,QQ企业邮箱测试成功
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.N ...
-
CSS理解之padding--非原创
因为在慕课网观看了张大神的视频,学习到了一点东西,向和大家分享.视频地址 代码如下: <!DOCTYPE html> <html lang="zh-CN"> ...
-
看到关于socket非阻塞模式设置方式记录一下。
关于socket的阻塞与非阻塞模式以及它们之间的优缺点,这已经没什么可言的:我打个很简单的比方,如果你调用socket send函数时: 如果是阻塞模式下: send先比较待发送数据的长度len和套接 ...
-
python之xml 文件的读取方法
''' xml 文件的读取方法 ''' #!/usr/bin/env python # -*- coding: utf- -*- import xml.etree.ElementTree as ET ...
-
springsecurity启动出现org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: You must use a 3.0 schema with Spring Security 3.0.
在换了spring-security的jar包以后启动出现org.springframework.beans.factory.parsing.BeanDefinitionParsingExceptio ...
-
FIO测试磁盘的iops
FIO是测试IOPS的非常好的工具,用来对硬件进行压力测试和验证,支持13种不同的I/O引擎,包括:sync,mmap, libaio, posixaio, SG v3, splice, null, ...
-
linux shell 正则表达式(BREs,EREs,PREs)差异比较(转)
add by zhj: Python的正则表达式跟Perl很像,Python的re模块文档中也说"This module provides regular expression matchi ...
-
【HDU4565】So Easy!
[HDU4565]So Easy! 题面 要你求 \[ \lceil (a+\sqrt b)^n \rceil \% m \] 其中\(0<a,m<2^{15},(a-1)^2<b& ...