Ext MVC 三层详解:
// 程序入口 -- app.js
Ext.onReady(function(){
Ext.QuickTips.init();
Ext.Loader.setConfig({ //开启自动加载功能
enabled:true
});
Ext.application({
name:'AM', //自定义命名空间,通常都定义为AM
appFolder:'app', //配置Ext框架所在的文件目录
launch:function(){ //在所有资源都载入成功后运行
Ext.create('Ext.container.Viewport',{
items:{
width:1500,
height:500,
xtype:'mainlayout' //这里引用了自定义的组件mainlayout(视图层的MainLayout的别称)
}
});
},
controllers:[ //加载所有的控制器
'UserController'
]
});
});
// 控制层 UserController.js
Ext.define('AM.controller.UserController',{
extend:'Ext.app.Controller', //继承Ext.app.Controller类
init:function(){
this.control({ //控制事件处理
'userlist button[id=add]':{
click:function(){
//do something
}
}
});
},
views:[
'UserList', //放在MainLayout之前加载
'DeptList',
'MainLayout'
],
stores:[
'UserStore',
'DeptStore'
],
models:[
'UserModel'
]
});
// Model层 UserModel.js
Ext.define('AM.model.UserModel',{
extend:'Ext.data.Model', //用来绑定到grid表字段
fields:[
{name:'id',type:'string'},
{name:'name',type:'auto'},
{name:'password',type:'string'},
{name:'birth',type:'auto'},
{name:'email',type:'auto'},
{name:'intro',type:'string'}
]
});
// Store层:UserStore.js
Ext.define('AM.store.UserStore',{
extend:'Ext.data.Store',
model:'AM.model.UserModel',
proxy:{
type:'ajax',
url:'/ExtjsTest/test/readuser',
reader:{
type:'json',
root:'userinfo'
},
writer:{
type:'json'
}
},
autoLoad:true
});
// 视图层
Ext.define('AM.view.UserList',{
extend:'Ext.grid.Panel', //GridPanel组件
alias:'widget.userlist', //别名
// title:'用户信息',
width:500,
height:500,
store:'UserStore', //绑定UserStore数据集
selModel:{
selType:'checkboxmodel'
},
tbar:[{text:"添加",id:'add'},{text:'删除',id:'del'},{text:'保存',id:'save'}], //按钮事件在控制层写
columns:[{header:'编号',dataIndex:'id',field:{xtype:'textfield',allowBlank:false}},
{header:'姓名',dataIndex:'name',field:{xtype:'textfield',allowBlank:false}},
{header:'密码',dataIndex:'password',field:{xtype:'textfield',allowBlank:false}},
{header:'生日',dataIndex:'birth',field:{xtype:'datefield',allowBlank:false}},
{header:'邮件',dataIndex:'email',field:{xtype:'textfield',allowBlank:false}},
{header:'简介',dataIndex:'intro',field:{xtype:'textfield',allowBlank:false}}],
]
});
分享到:
相关推荐
一个extjs的OA项目 extjs-OA extjs-oaextjs-OA extjs-oa
extjs-620-docs官方文档extjs-620-docs官方文档extjs-620-docs官方文档
在"extjs-4.1.1.zip"这个压缩包中,包含了ExtJS框架的4.1.1版本,这是一个成熟的版本,具有丰富的功能和优化的性能。 ExtJS的核心特性包括组件化设计、可定制的布局管理、强大的数据绑定机制以及一系列预设的UI组件...
此"extjs-620-docs.rar"压缩包包含了该版本的完全离线版API文档,旨在解决在没有网络连接或网络环境不稳定时,开发者仍然可以便捷地查阅和学习ExtJS 6.2.0的相关知识。 API 文档是任何开发者的重要工具,特别是对于...
extjs-basex.js extjs-basex.js extjs-basex.js
extjs-cmd 脚手架安装包2 extjs-cmd 脚手架安装包3 extjs-cmd 脚手架安装包4
"extjs-theme-bootstrap" 是针对 EXTJS4 的一个主题,它借鉴了 Bootstrap 的设计风格,让 EXTJS4 应用程序具有更加现代化和一致的外观。 Bootstrap 是一个流行的前端开发框架,由 Twitter 推出,主要用于构建响应式...
extjs-4.1.1 ExtJs所有文档及库文件,在官网下的,这个版本很好,放在这方便大家下载!
extJs-5.0.1-gpl附带sencha cmd安装程序、ruby编译包(分为32位和64位)和教程,一共四部分
Vs2005+Access+Asp.net+Extjs简单三层架构源码 由51编程网站提供,代码由51编程-代码器自动生成。 共生成5种文件格式: Model: 实体层 BLL : 逻辑层 Dal: 数据层(主键自动增长,新增时都需要屏蔽) Ext.aspx: ...
【Extjs--OA 自动办公系统】是一款基于ASP.NET技术和EXTJS前端框架开发的办公自动化系统,采用典型的三层架构设计,旨在提供高效、便捷的办公流程管理。此系统的实现涉及了多个关键知识点,下面将详细阐述这些技术...
extjs-6.5.3离线API文档,是学习和开发的必要工具。希望有所帮助!
"extjs-theme-bootstrap-master.zip" 文件很可能是ExtJS的一个主题包,它集成了Bootstrap的样式,使得ExtJS组件能够呈现出Bootstrap的经典外观。 在深入讲解这个主题之前,让我们先了解一下基础概念: 1. **ExtJS*...
ExtJS是一种主要用于创建前端用户界面,是一个基本与后台技术无关的前端ajax框架。功能丰富,无人能出其右。无论是界面之美,还是功能之强,ext的表格控件都高居榜首。单选行,多选行,高亮显示选中的行,推拽改变列...
extjs-core 3.0 beta版extjs-core 3.0 beta版SDK extjs-core 3.0 beta版extjs-core 3.0 beta版
extjs-4.1.1为extjs官方免费版,解压之后引入对应的css和js即可使用
ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS...ExtJS快速入门 ExtJS快速入门 ExtJS快速入门ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门
这个"ExtJs-3.2.0.rar"压缩包包含了ExtJS 3.2.0版本的所有资源,允许开发者利用其强大的组件库和丰富的功能来创建交互式、数据驱动的网页应用。 1. **ExtJS框架介绍** ExtJS提供了一套完整的UI组件,包括表格、树...
这个压缩包文件的内容看起来是一个完整的EXTJS项目,包含了数据库交互、动态树结构和菜单功能,并且集成了SpringMVC后端框架以及JDBC数据访问层。 1. **EXTJS动态树**: EXTJS的动态树(TreePanel)组件允许开发者...