Sencha Cmd学习笔记
Sencha Cmd是一套跨平台的命令行工具,用于支持整个ExtJS开发的生命周期。它包含以下功能:
- 代码生成工具:可以生成整个应用程序,并且使用MVC模式扩展应用程序
- JS编译器:此编译器理解Sencha的ExtJS/Touch框架,可以减少应用程序加载…
ExtJS 4中的选取器控件
选取器控件通常具有这样的UI风格:
- 包含一个触发按钮
- 点击触发按钮,在字段输入框下方弹出一个“picker”
- 操作picker,会改变输入框的值
选取器控件的父类是Ext.form.field.Picker,它继承于Trigger,后者继承于Text…
阅读全文ExtJS 4组件的生命周期
ExtJS组件的生命周期可以整体上划分为三个部分:初始化、渲染、销毁。生命周期由Ext.Component类控制。
这一阶段通常执行的很快,因为都是在JavaScript代码内完成的。注意:组件不需要经过渲染阶段即可被销…
阅读全文浅析ExtJS 4表单字段
- 字段:又称字段,对应于原始HTML表单中的input等元素,在ExtJS中,混入了Ext.form.field.Field的任何类型都是表单字段
- 字段值:
- 数据值(data value):与字段类型密切相关的,反映真实对象状态的值,例如对于日期字段,其…
ExtJS 4的容器机制
容器是一种特殊的组件,容器与一般组件的根本差别在于,它的内部可以包含其他组件(包括容器)作为其“子组件(items)”。容器提供添加、删除、插入子组件的方法和相关的事件。此外,容器还引入了“容器布局”,专门处理子组件的大小、位置。
ExtJS 4的组件机制
组件、容器是ExtJS组件机制的基础,后者是前者的子类型。
这是一个ExtJS框架的私有混入,定义了组件渲染的核心逻辑,对于下面这个包含三层嵌套的Panel:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
Ext.onReady( function() { Ext.createByAlias( 'widget.panel', { id : 'ContainerA', layout : 'hbox', width : 500, height : 500, renderTo : Ext.getBody(), items : [ { id : 'ContainerB', xtype : 'container', width : 250, height : 250, layout : 'fit', items : [ { id : 'ComponentA', html : 'Hello World !' } ] } ] } ); } ) |
Renderable定义其渲染过程如下:
- ContainerA被初始化时转调父类构造器,在AbstractC…
ExtJS 4的事件系统
ExtJS使用以Observable混入类为核心的观察者模式,提供了统一的事件发布、监听编程接口,把浏览器的原生事件统一抽象为EventObject。
ExtJS事件分成元素事件和组件事件两类:
- 元素事件:在浏览器事件机制的基础上扩展而来…
ExtJS 4的MVC框架
ExtJS 4引入MVC架构,可以用来创建ExtJS应用程序,与经典的Ext.onReady回调方式很不相同。
在开发ExtJS应用时,往往习惯于把所有JavaScript代码编写在单个文件中,生产环境下的应用通常都比较复杂,可能包括了面板、表单、表格、布局、模型、存储等多种组件的组合。大量的组件代码导致JS文件急剧膨胀,难以维护,因此很有必要根据职责的不同把代码划…
阅读全文定制ExtJS 4主题
在ExtJS 3中自定义主题相当复杂,可能需要探测每一个HTML元素,找到对应的CSS代码并修改,很多ExtJS 3组件使用了图片,可能需要手工修改这些图片才能满足新主题的配色需要。
ExtJS 4使用一些CSS3的特性来便利化主题定制…
阅读全文浅析ExtJS 4布局组件
在ExtJS中,布局决定组件的位置如何分布、尺寸如何确定。ExtJS 4对整个布局体系进行了改造,布局引擎被重新编写,提高了性能。
ExtJS 4把布局分为两类:
- 容器布局(Container Layout):组织一个组件的HTML元素。…