【ExtJS】一些基本概念的梳理
学习ExtJS有一段时间了,一些相关知识点虽然每天都在用,不过如果猛的一问起来还是会一愣,趁现在好好梳理下吧。长期修改添加,弄清楚什么就加入什么。
1、Ext.onReady():
onReady()方法是Ext.loader.onReady()方法的别名。这个方法用于监听ExtJS以及HTML页面是否加载完成。当一切都加载完成以后,执行Ext.onReady()指定的方法。
Ext.onReady(Object fn, object scope, Object options)
其中,参数fn指定加载完成后执行的方法;参数scope指定方法的范围(fn);第三个方法执行附加选项。如:delay。参数2、3为可选参数。
2、渲染render:
渲染是指含有 ExtJS 程序的页面下载完毕后在浏览器中完全展现出来的一个过程。
作为普通的Html页面也有渲染的过程,即Html与CSS代码开始装载进浏览器到整个页面根据Html与CSS规则完全显示出来的过程。但是在ExtJS中有完全不同于Html与CSS渲染过程的地方,虽然ExtJS的界面最终也是以Html与CSS来展现,但是这些Html与CSS不是从服务器下载而来,而完全是由ExtJS的引擎动态生成而来。所以ExtJS的渲染实际上是一个动态生成的过程,而非静态载入的过程。
3、窗口Window:
ExtJS中的窗口并不是一个真正的Windows窗口,在本质上只是一个层利用CSS进行格式化,在外观和行为上都比较像真正的Windows窗口的显示区域。说到显示区域就应该想到面板,实际上在ExtJS的继承层次上,窗口组件就是继承于面板组件。明白了ExtJS中窗口的本质就是一个层的话,那么就一定要知道它与真正 Windows 窗口的不一样,比如要将 ExtJS 窗口拖出到浏览器窗口之外等等想法显然就是不能实现的。
4、Ext.define():
用于定义或拓展一个类。
Ext.define(String className, Object data, [Function createFn])。
内置3个参数,包括类名字(className)、对象数据逻辑和方法(data)、回调函数;
Ext.define()方法和Ext.extend()方法都用于自定义类,不过4.0版本后就不推荐使用Ext.extend()。第二个参数是一个对象,该对象用于为新创建的类指定属性,该对象可以指定任何合法属性:
self:引用当前类本身;
alias:定义类别名;
config:用于为该类指定配置选项,ExtJS会自动为config指定的选项添加setter方法和getter方法。
extend:用于指定该类继承的父类;
statics:用于为该类定义静态方法和属性;
mixins:列出所有要被混入的类;
override:定义要覆盖的类;
requies:用于列出实例化前必须预先加载的类;
singleton:如果该属性为true,则这个类是单例的;
uses:用于列出必须与该类同事使用的类。
5、Ext.data.proxy.Proxy:
代理的职责为加载和保存数据。它可以用于Store,也可直接用于Model,不过一般推荐仅只在Store中使用,而把Model作为一个纯实体链接来使用,让它的类中只包含字段、主从表对应关系和验证等基础信息,将proxy放到Store中。
Model代表应用程序管理的一些对象。Model定义为字段、任意方法和与模型相关的属性的集合。
Store的职责是封装Model并配置代理来读取、保存数据。它具有排序、过滤和分组的功能。
6、Ext.create():
用于创建对象。
var a = Ext.create(String name, Object args)
其中第一个参数为指定要创建对象的类名,第二个参数为一个javascript对象,用于向新生成的对象传入构造参数值(也成为配置选项,可以为config属性指定选项传入参数值)。
在4.0版本以后,建议尽量用Ext.create代替new创建对象的实例。
【ExtJS】一些基本概念的梳理的更多相关文章
- 通用工业协议(CIP)形式化的安全分析(前期概念的梳理)
1.CIP的概念的梳理 CIP是为开放的现场总线DeviceNet ControlNet EtherNet/IP 网络提供公共的应用层和设备描述, CIP是基于对象的协议,使用生产者/消费者模型, ...
- Allegro建立引脚封装概念名词梳理
首先感谢于博士的60讲的Cadence教学视频,老师讲的还是很有耐心,很细致,谢谢! 目前还只是看到建立PCB封装这一块,正好手头上有个案子在做,边做边学的进度还是要好很多.以前的工作对原理图这一块的 ...
- Spring 笔记(一)概念梳理
概念 预备知识 1. POJO POJO是Plain Old Java Object的缩写,是软件开发大师Martin Fowler提出的一个概念,指的是一个普通Java类.也就说,你随便编写一个Ja ...
- 从一次编译出发梳理概念: Jetty,Jersey,hk2,glassFish,Javax,Jakarta
从一次编译出发梳理概念: Jetty,Jersey,hk2,glassFish,Javax,Jakarta 目录 从一次编译出发梳理概念: Jetty,Jersey,hk2,glassFish,Jav ...
- 如何一步一步用DDD设计一个电商网站(二)—— 项目架构
阅读目录 前言 六边形架构 终于开始建项目了 DDD中的3个臭皮匠 CQRS(Command Query Responsibility Segregation) 结语 一.前言 上一篇我们讲了DDD的 ...
- 浅谈我对DDD领域驱动设计的理解
从遇到问题开始 当人们要做一个软件系统时,一般总是因为遇到了什么问题,然后希望通过一个软件系统来解决. 比如,我是一家企业,然后我觉得我现在线下销售自己的产品还不够,我希望能够在线上也能销售自己的产品 ...
- javascript 高级程序设计 -有感
本来我想写一个高级程序设计总结的,结果发现我进入了一扇门,里面所有的字都要逐字逐句的理解,所有描述已经是非常精炼了,我最初的想法无异于老鼠吃大象. 我现在记录的是我在看这本时的感想. 2015.4月9 ...
- 【转】一个lucene的官网例子
创建索引: import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import jav ...
- (转载)浅谈我对DDD领域驱动设计的理解
原文地址:http://www.cnblogs.com/netfocus/p/5548025.html 从遇到问题开始 当人们要做一个软件系统时,一般总是因为遇到了什么问题,然后希望通过一个软件系统来 ...
随机推荐
- wc项目记录
1.Github项目地址:https://github.com/3116004700/ruanjiangongcheng 2.预估时间见PSP表格. 3.解题思路描述: 在看到这个项目的时候我就想到了 ...
- MVC4 Model ControllerDescriptor
1. ControllerDescriptor 的描述 Controller 的Action 方法有以下一些特性: 1.1 ActionNameAttribute特性 他继承自 System.We ...
- oracle数据库sqlldr命令的使用
将数据导入 oracle 的方法应该很多 , 对于不同需求有不同的导入方式 , 最近使用oracle的sqlldr命令 导入数据库数据感觉是个挺不错的技术点 . 使用sqlldr命令 将文本文件导入 ...
- C#中使用Redis学习一 windows安装redis服务器端和客户端
学习背景 今天是2015年1月2日,新年刚开始的第二天,先祝大家元旦快乐啦(迟到的祝福吧^_^).前段时间一直写Jquery插件开发系列博文,这个系列文章暂停一段时间,最近一直在看redis,我将把r ...
- solr7.3集群搭建
solr集群搭建 原博客:https://blog.csdn.net/gdsgdh308227363/article/details/81004706 注意,在搭建solr集群前,建议最好有一个sol ...
- Perl+OpenGL 重绘inkscape生成的svg矢量图
Perl+OpenGL 重绘inkscape生成的svg矢量图 还不够完善,先挖个坑,后面慢慢填 Code: [全选] [展开/收缩] [Download] (Untitled.pl) =info A ...
- [USACO09FEB] 改造路Revamping Trails | [JLOI2011] 飞行路线
题目链接: 改造路 飞行路线 其实这两道题基本上是一样的,就是分层图的套路题. 为什么是分层图呢?首先,我们的选择次数比较少,可以把这几层的图建出来而不会爆空间.然后因为选择一个边权为0的路线之后我们 ...
- JS延时器 定时器 暂停器 中断器
// numberMillis 毫秒 function sleep(numberMillis) { var now = new Date(); var exitTime = now.getTime() ...
- AOP拦截日志报错llegalStateException: It is illegal to call this method if the current request is not in asynchronous mode
原文链接:https://my.oschina.net/mengzhang6/blog/2395893 关于一次AOP拦截入参记录日志报错的梳理总结 将服务发布到tomcat中后,观察服务的运行状态以 ...
- 解决mysql最大允许传输包不足的问题
一.报错提示内容和原因 在执行“数据传输”或者“运行SQL文件”时报错误:Got a packet bigger than 'max_allowed_packet' bytes With,表明当前所传 ...