模型Model: 最为简单,只是单纯定义数据结构,模型定义以下内容:

字段名称,类型,模型间的关联关系,模型的Proxy API,数据检验器Validators

 

数据Store: 实际上是模型的实例,主要定义和包含以下内容:

1, 可以在data属性中存放具体的数据,可以指定一个IDStore

2, 模型名称

3, 数据存取API

4, Proxty API

 

视图View: 定义了界面布局及控件,它并不定义事件,一些涉及到数据的控件,还可以在此指定采用的数据ID

 

控制器Controller: 实际上,数据和视图是被控制器控制的资源,控制器主要负责:

1, Stores属性:指定要载入的数据

2, Views属性:指定要载入的视图

3, Models属性:指定要载入的模型

4, Init方法:初始化视图

5, 定义各个事件处理成员,在事件处理中,可以调用storemodel的方法来存储或读取数据,使用control方法查找视图中控件,并委托事件处理

 

MVCD的关键是,把数据的定义跟数据分开,把视图的定义跟事件的定义分开,让模型负责自身的有效校验,让数据负责自己的载入和存储,每个部分完全独立,再使用控制器来载入各部分,按需要初始化视图,委派事件,调用数据中定义的方法载入和保存数据等。

应用程序的定义:

Name:名字

appFolder:类所在文件夹

launch:应用程序初始化方法,通常在这里要建立一个Viewport,然后将View加入其中,已经定义的视图,在这里,可以直接通过xtype来引用,如果设置了autoload的话,会自动载入以appname为名称的视图

 

类的定义:

先定义namespace: Ext.ns

再定义类本身:Ext.define(className, members);

类定义中最重要的属性:

Extension:定义父类

Constructor:定义构造器

Config:配置

Set属性名/get属性名/apply属性名/reset属性名:apply属性名会在set之后调用,作后置处理

Static:定义静态成员和方法

Mixins: 要继承的其他类名

Alias:别名