实用ExtJS教程100例-001:开天辟地的Hello World

简介:

ExtJS功能繁多,要想彻底的了解确实很困难。作为初学者,如何能找到一条快速的通道呢?我觉得,如果你有Javascript的基础,那就不要惧怕ExtJS的复杂,从动手开始,遇到问题,解决问题,积累经验,这是一条非常快速的学习途径。

从今天开始我将完成一系列ExtJS使用中常常用到的功能,并通过例子的形式告诉大家如何一步一步的完成,相信我,ExtJS并不可怕!

本系列教程以代码演示为主,代码讲解相结合,尽量将ExtJS的学习难度降到最低。

要学习本系列教程,你需要具有以下知识:

  • 熟悉Javascript的语法,了解DOM机制
  • 具备CSS基础知识
  • 最好对ASP.NET编程有所了解(不是必须的,只因为服务器代码使用了ASP.NET MVC)

今天我将带领初学者朋友完成第一个例子,将ExtJS引入到你的项目中,并搭建一个模板,我们后续的例子都将以这个模板为基础进行编码。

获取ExtJS

ExtJS的官网地址:http://www.sencha.com/products/extjs

在这个网址上面,我们可以下载到ExtJS的最新版本。目前,ExtJS的最新版是4.2.1,我们将使用这个版本进行讲解。ExtJS 4.x 做了很大的改变,对3.x是不兼容的。

在页面中,我们可以找到下载按钮,下载最新这个版本的ExtJS。下载完成以后对它进行解压,接下来我们将完成Hello World 示例。

Hello World 示例

—— 我相信从无到有的过程绝对是开天辟地的。所以请尊重Hello World这个例子。

下载完以后,我们需要对压缩包进行解压。ExtJS 是开源的,所以压缩包中包含了很多源代码和调试用的一些东西,这些东西对我们开发工程中的调试很有用,但在引用的时候,我们只需要使用到:

  1. ext-all.js
  2. locale/ext-lang-zh_CN.js
  3. resources/css/ext-all.css

这些文件的说明如下:

  1. ExtJS的压缩代码,在生产环境中使用,开发中我们可以使用ext-all-debug.js来代替,方便调试。
  2. 简体中文语言包。
  3. ExtJS的样式文件,如果要更换其它主题,只需要将它替换成其它的主题文件即可。

了解了这些内容,我们就可以很轻松的完成Hello World示例了。

第一步,新建一个html文件

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
</head>
<body>
</body>
</html>

第二步,添加上述的三个文件引用

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    <script src="extjs-4.2.1/ext-all.js"></script>
    <script src="extjs-4.2.1/locale/ext-lang-zh_CN.js"></script>
    <link href="extjs-4.2.1/resources/css/ext-all.css" rel="stylesheet" />
</head>

第三步,完成编码

我们的编码很简单,为了方便演示,我们只在页面加载完成的时候弹出一个对话框,在对话框中显示“Hello World”。代码如下:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>实用ExtJS教程100例-001:开天辟地的Hello World - www.qeefee.com</title>
<script src="extjs-4.2.1/ext-all.js"></script>
<script src="extjs-4.2.1/locale/ext-lang-zh_CN.js"></script>
<link href="extjs-4.2.1/resources/css/ext-all.css" rel="stylesheet" />
<script type="text/javascript">
    Ext.onReady(function () {
        Ext.MessageBox.alert("提示", "Hello world");
    });
</script>

代码说明:

首先在head标签中添加一个script标签,用来在里面添加我们自己的js代码

然后调用Ext.onReady()方法,这个方法会在DOM加载完成以后调用传入的方法,如果使用过jquery,这个方法就不难理解。通常我们会将代码放在页面加载完成以后执行。

在传入的方法中,我们使用Ext.MessageBox.alert()方法弹出一个对话框,这个方法的第一个参数的标题,第二个参数是内容。

我们的页面在浏览器中的效果如下:

image

这个对话框显得非常精美,显得非常专业,可以用高端大气上档次来形容了,这也是为什么那么多人喜欢ExtJS的原因。

在ASP.NET MVC中搭建模板

看到了吧,如果我们决定动手的时候,ExtJS也并不是那么麻烦,一个简单的Hello World已经把你带入ExtJS的世界,在这个世界里还有更多更好玩儿的东西等着你来发现,但在出发之前,我们先来完善一下装备吧。

由于我比较擅长使用ASP.NET,本系列的例子将使用ASP.NET MVC来提供服务器端的支撑。由于ExtJS的平台无关性(只与浏览器有关),Java和php方面的朋友也可以毫无顾忌的参考这些例子。

在使用ASP.NET MVC的时候,我们通常会用到layout页面,我们来完成一个通用的layout页面,在接下来的示例中,我们都将使用这个布局页为基础进行编码。

我们创建好一个MVC项目,项目结构图如下:

image

 

接下来我们创建一个layout.cshtml,并修改代码:

<!DOCTYPE html>
<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>@ViewBag.Title</title>
    <link href="~/Resources/extjs-4.2.1/resources/css/ext-all.css" rel="stylesheet" />
    <script src="~/Resources/extjs-4.2.1/ext-all.js"></script>
    <script src="~/Resources/extjs-4.2.1/locale/ext-lang-zh_CN.js"></script>
    @RenderSection("script", false)
</head>
<body>
    <div>
        @RenderBody()
    </div>
</body>
</html>

我们只添加了ExtJS的相关引用,然后在head标签中添加了script节点的绘制。接下来我们看看这个layout页是否能正确的完成任务,我们来将刚才的HelloWorld示例使用布局页重新完成一次。

第一步,在HomeController中添加HelloWorld方法:

public ActionResult HelloWorld()
{
    return View();
}

第二步,为HelloWorld方法添加视图:

@{
    ViewBag.Title = "HelloWorld";
}

<h2>HelloWorld</h2>

第三步,创建一个JS文件,用来完成编码

我们在项目根目录中创建一个JSApp目录,将示例用到的JS代码都放在这个目录下面。

在JSApp目录中创建一个Home文件夹,用来对应HomeController,然后在下面创建一个HelloWorld.js,用来对应HomeController中的HelloWorld方法。这算是一种约定吧,以后我们也会遵循这种约定。

HelloWorld.js代码如下:

Ext.onReady(function () {
    Ext.MessageBox.alert("提示", "Hello world");
});

第四步,修改我们的HelloWorld视图页面

修改这个视图页面,将HelloWorld.js引入页面中,修改后的代码如下:

@{
    ViewBag.Title = "实用ExtJS教程100例-001:开天辟地的Hello World - www.qeefee.com";
}
@section script{
    <script src="~/JSApp/Home/HelloWorld.js"></script>
}

完成上面的四步以后,运行程序,在浏览器中的截图如下:

image

还不错,模板页已经正常工作了。在以后的示例中,我们将使用这四个步骤来添加演示的代码。

本文还发布在了ExtJS教程网站起飞网上面,如果转载请保留本段声明,谢谢合作。

如果认为此文对您有帮助,别忘了支持一下哦!

作者: 齐飞
声明:本博客原创文字只代表本人工作中在某一时间内总结的观点或结论,与本人所在单位没有直接利益关系。非商业,未授权,贴子请以现状保留,转载时必须保留此段声明,且在文章页面明显位置给出原文连接。

转载:http://www.cnblogs.com/youring2/p/extjs-example-001.html
目录
相关文章
|
监控 NoSQL
JLink + GDB 调试方法
本节主要介绍嵌入式开发中常用的JLink+GDB调试方法。 调试所需软件 J-link,可以从https://www.segger.com下载对应操作系统的软件包,然后安装(注意:segger是仿真器的名字,相当常用的一款,仿真器的接口也是固定的,一般开发版上都会带有这个调试接口,如图) 运行JLinkGDBServer 按照上图中的配置,配置GDBServer,然后点击OK,进入下一个界面 注意,如果硬件连接没有问题,那么上图中的J-Link和 Device栏中显示绿色,GDB显示为红色,因为我们还没有运行GDB软件。
8644 46
|
网络架构
Internet的主要特点和结构组成
Internet是通信、计算机和计算机网络技术相结合的产物。是目前世界上最大的互联网络,几乎覆盖了整个世界,涵盖各种局域网技术和广域网技术,并具有以下显著特点。
2104 2
|
SQL 关系型数据库 MySQL
mysql用户、权限管理
mysql用户、权限管理
244 0
|
11月前
|
人工智能 自然语言处理 API
Multimodal Live API:谷歌推出新的 AI 接口,支持多模态交互和低延迟实时互动
谷歌推出的Multimodal Live API是一个支持多模态交互、低延迟实时互动的AI接口,能够处理文本、音频和视频输入,提供自然流畅的对话体验,适用于多种应用场景。
437 3
Multimodal Live API:谷歌推出新的 AI 接口,支持多模态交互和低延迟实时互动
|
自然语言处理 IDE 测试技术
通义灵码怎么样?分为哪些版本,看看基础能力多少分?
通义灵码是一款基于通义大模型的智能编码辅助工具,提供实时代码续写、自然语言生成代码、单元测试生成、代码优化、注释生成、代码解释等功能。
|
安全 Linux 测试技术
Kali Linux预装的自动化渗透测试工具
Kali Linux预装的自动化渗透测试工具
764 2
|
人工智能 搜索推荐 数据管理
2024年CRM系统全景:领先品牌的深度解析与企业选择指南
在数字化转型的大潮中,CRM系统已成为企业不可或缺的工具,助力企业在客户管理、销售提升、市场策略优化及客户满意度提高等方面取得显著成效。预计2024年全球CRM市场规模将达到数千亿美元,展现出强劲的增长势头。本文将探讨CRM市场的最新趋势,包括人工智能与自动化融合、移动化及多平台支持、以及数据安全与隐私保护的重要性。同时,深度剖析2024年领先的CRM品牌,如中国本土领军者销售易,以及国际巨头Salesforce、HubSpot、Zoho CRM和微软Dynamics 365等,并为企业提供实用的选择指南,帮助企业明确需求、考虑系统扩展性、关注用户体验、评估总体成本并选择可信赖的供应商
|
XML Java 数据格式
Java一分钟之-JAXB:Java对象到XML绑定
【6月更文挑战第1天】Java Architecture for XML Binding (JAXB) 是Java平台标准,用于自动转换Java对象和XML。它通过注解实现声明式映射,简化XML处理。本文介绍了JAXB的基本使用、常见问题和最佳实践,包括对象到XML(Marshalling)和XML到对象(Unmarshalling)过程,并通过示例展示如何在Java类和XML之间进行转换。注意类型匹配、注解冲突和JAXB上下文创建等问题,以及如何优化性能和避免循环引用。
854 3
|
安全 Java API
深入了解java.util.Date类:历史、功能和使用注意事项
本文详细介绍了Java中的`java.util.Date`类,包括其历史、基本功能和使用时的注意事项。`Date`类最初用于简单表示日期和时间,但随着发展暴露出了不可变性、线程安全性和时区处理等问题。文章展示了如何创建和操作日期,以及如何使用`SimpleDateFormat`进行日期格式化和解析。虽然Java 8引入了更好的`java.time`包,但理解`Date`类仍然很重要,特别是处理旧代码或兼容性问题时。注意`Date`类的废弃方法、非线程安全性质以及月份从0开始等细节。
495 1
|
弹性计算 负载均衡 网络协议
LVS (Linux Virtual server)集群介绍
LVS (Linux Virtual server)集群介绍