学习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创建对象的实例。