博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ExtJS学习之路第一步:对比jQuery,认识ExtJS
阅读量:5295 次
发布时间:2019-06-14

本文共 2620 字,大约阅读时间需要 8 分钟。

最近纷杂的事情比较多了,奔波ing!所以,Node.js 和Canvas动画系列都停止了,等稳定了再重拾书本继续学习!因为某种原因最近在看ExtJS,分享下学习的心得,希望对同道中人有所帮助。

第一用ExtJS的时候还是比较震撼的,这个颜色这些控件经常看到有没有?!先前用过Drupal,觉得二者有某种相似性,Container,Panel,Layout某些概念上,只不过Drupal是操作,ExtJS是代码。ExtJS是一个用javascript写的,主要用于创建前端用户界面,是一个与后台技术无关的前端ajax框架。因此,可以把ExtJS用在.Net、Java、Php等各种开发语言开发的应用中。

  ExtJs最开始基于YUI技术,由开发人员Jack Slocum开发,通过参考Java Swing等机制来组织可视化组件,无论从UI界面上CSS样式的应用,到数据解析上的异常处理,都可算是一款不可多得的JavaScript客户端技术的精品。 ExtJS,是开发RIA的利器,功能强大,非常简单的代码呈现的效果却复杂。对jQuery很熟,拿熟悉的东西来类比新的,容易上手。如果你跟我一样的想法,不妨跟着我的思路来认识认识。

一、如何配置ExtJS环境?

可以去官网看 

翻译版本的

解压后的文件目录中的主要资源进行简单的介绍:

1. builds 目录是ExtJS压缩后的代码,经过压缩的代码体积更小,加载更快。 

2. docs 中是ExtJS的文档,其中最重要的是ExtJS的API。可以说是开发过程中的法宝。 
3. examples 是官方的演示示例,使初学者快速掌握ExtJS开发。 
4. locale 是多国语言的资源文件,其中ext-lang-zh_CN.js是简体中文。 
5.overview 是ExtJS的功能简述,其中从整体上阐述了它的功能和结构。 
6.pkgs中是ExtJS各部分功能的打包文件。 
7.resource 中ExtJS要用到的图片文件与样式表文件,ExtJS引以为傲的漂亮外观就由这个目录的文件所控制。 
8.src 目录是未压缩的源代码目录。 
9. bootstrap.js是ExtJS库的引导文件,通过参数可以自动切换ext-all.js和ext-all-debug.js。 
10.ext-all.js 是ExtJS的核心库,必须要引入的。 
11.ext-all-debug.js 是ext-all.js的调试版,在调试时需要用到的。

二、如何看API

相对于jQuery每个属性和函数的面面俱到,ExtJS相对要节省点,需要花点时间测试下某某方法是不是就是这样用的呀之类~~

 然后选择相应的版本

或者是把刚才配置环境中下载的ExtJS文件放置到localhost中,直接访问http://localhost/ext-4.2.1-gpl/index.html

点击API Doc,本地查看文档。

三、让我们来看个小例子吧

我用的工具是Sublime Text2,截图FastStone Caputer--[测量距离的利器]

层级结构:

index.html

    just a test    
This is a test div.

app.js

Ext.onReady(function() {      var myDiv = Ext.get('myDiv');    myDiv.highlight(); });

效果就是myDiv高亮了一下!

Ext.onReady,是当需要的类和DOM都加载完毕开始执行函数。是否类似jQuery的$(function(){});

Ext.get('myDiv')类似$('#myDIv')或者document.getElementById?这样你是否熟悉了呢?

这是调用Loader对象的onReady方法,在Loader.js中可找到如下定义:

如何找到这个文件本地方法:ext-4.2.1-gpl\src\class

在线API搜索onReady,定位到Ext.Loader点击右边的Files.js

onReady: function(fn, scope, withDomReady, options) {            var oldFn;            if (withDomReady !== false && Ext.onDocumentReady) {                oldFn = fn;                fn = function() {                    Ext.onDocumentReady(oldFn, scope, options);                };            }            fn.call(scope);}

重点是最后一句,call(scope)!

比如

var tempFunction={
scopeTest:function(){ Ext.Msg.alert('Scope','Just a test!'); }};Ext.onReady(function() { var myDiv = Ext.get('myDiv'); myDiv.highlight(); this.scopeTest();},tempFunction);

这个时候是会弹出消息框,标题Scope,内容Just a test!

如果说是用jQuery模拟弹出框,那是不是要用层,定位,之类的或者你引用个插件,但是Ext仅仅是一句话,神奇否?

补充一下,Loader.js 提示,可以在onReady之前加上

Ext.require('Ext.window.Window');

Ext.require('Ext.layout.container.Border');

这样就可以提前引用相关的类了,加载速度会快点哦!

怎么样?感觉是不是熟悉了点?

PS:参考文献,已经穿插在文中!非常感谢这些作者!

转载于:https://www.cnblogs.com/sunscheung/p/4839417.html

你可能感兴趣的文章
Python学习-day18 Web框架
查看>>
Python学习-day14-CSS
查看>>
Java使用HttpURLConnection上传文件(转)
查看>>
js判断是安卓 还是 ios webview
查看>>
MyBaits 与 Hibernate 的区别
查看>>
MongoDB出现CPU飚高,如何强制停止正在执行的操作
查看>>
設置sqlplus格式
查看>>
应用层协议
查看>>
前端知识体系
查看>>
SSO单点登录在web上的关键点 cookie跨域
查看>>
[转]Repeat Page Header on each Page for reports SSRS
查看>>
DXP中插入LOGO图片方法(1)
查看>>
(转) exp1-2://一次有趣的XSS漏洞挖掘分析(2)
查看>>
HW6.24
查看>>
ArrayList线程不安全
查看>>
Adapter(适配器)模式
查看>>
ImageView.ScaleType详解
查看>>
数据库三大范式
查看>>
css3动画的两种方式transition和@keyframs
查看>>
Java 基础总结(一)
查看>>