注意:本专题均以5.1.3版本为基础。
题外话:Sencha是日语里面煎茶(せんちゃ)的意思,所以图片那个软乎乎的绿色其实是茶叶。
本文将简要的翻译API文档。首先来看一下API的目录结构,除了Global_CSS特殊存在之外,剩下的看名猜意即可:
先介绍第一个Ext类。
Ext
Ext 作为顶级的命名空间(也是全局对象),封装了Sencha库所有的类工具方法,比如浏览器的探针属性:Ext.isEdge、比如创建类和对象的方法:Ext.define()和Ext.create()等。Ext里面的UI组件都位于次一级的命名空间。子类的常用方法也会以别名的形式由Ext代劳。既然被起了别名,证明非常常用啊,这里就用表格列一下吧。
别名方法
方法 | 缩写 | 机能 | 描述 |
---|---|---|---|
Ext.Function.bind | Ext.bind | 用来改变this指向的。 | 废弃,推荐使用JS本身的bind方法代替。关于bind、apply和call,这篇文章讲的非常好。 |
Ext.JSON.decode | Ext.decode | 将JSON字符串转换为对象。 | JSON字符串不合法且保护项设置为false的时候,会抛出SyntaxError。 |
Ext.JSON.encode | Ext.encode | 将对象、数组串转换为JSON字符串。 | Ext.USE_NATIVE_JSON 为false时,调用Ext自己的解析方法;为true时,本质调的是JSON.stringify()浏览器自身的解析方法。 |
Ext.Function.defer | Ext.defer | 延迟函数的执行时间。 | 本质调用的是setTimeout。Ext还有一个interval,本质调的是浏览器的setInterval方法。前者是指经过一定时间后,调用相应函数;后者是指每一定时间就执行相应函数,直到被clearInterval。可以通过while让defer模拟interval。 |
Ext.Array.each | Ext.each | 数组迭代器。 | 在遍历数组的同时可以调回调函数处理每个item。 |
Ext.dom.Element.fly | Ext.fly | 获取DOM元素。 | 速度快,获取属性很方便。该方法缓存的值唯一,后一次使用会覆盖掉前一次的取值,区别于get()方法。 |
Ext.ComponentManager.get | Ext.getCmp | 获取组件。 | |
Ext.data.StoreManager.lookup | Ext.getStore | 获取Store。 | Ext.data.StoreManager和Ext.data.Store是有区别的。前者是对store进行总体管理的类,后者则是数据真实存在的地方,这些数据可以通过LocalStorage、SessionStorage、Memory和Ajax、JsonP、Rest、Direct的代理方式获得。 |
下面是一些常见的函数(持续补充)。
常用方法
常用方法 | 机能 | 描述 |
---|---|---|
Ext.iterate | 用来迭代遍历数组或者对象。 | 在遍历的过程中对目标做一些处理。isIterable是true时调Ext.Array.each来处理;false时调Ext.Object.each来处理。Arrays、函数的arguments对象、HTML collections(例如NodeList)都可以被迭代。 |
Ext.log | 控制台log输出。 | 对输出做了格式化。可以试试看看:Ext.log({level:’error’,msg:’this’,dump:{name:’wang’}},’>>foo’); |
许多应用程序是通过Ext.application启动的,一旦DOM准备好就调用它。 这样可以确保所有脚本都已加载,从而防止依赖问题。 例如:
未完待续