说实话Ext这个东西还是比较不爽,那个官方的api也太简单了,很多地方都寥寥几句话,搞的像我这样的初学者很泄气,不过做事最好还是有始有终,有点心得,记录一下。
所谓的常见的应用界面就是登录完毕之后,左边一个菜单面板,中间一个TabPanel来放具体功能
后台传回数据后,点左边菜单应该可以动态加载功能
1.登录完毕后,加载左菜单,这个没啥好说的,数据:
{
"success": true,
"children": [
{ "functionId": 1, "functionMappingName": "userinfopanel","functionDes":"用户管理","iconCls" :"feed-icon","leaf": true },
{ "functionId": 2, "functionMappingName": "roleinfopanel","functionDes":"角色管理","iconCls" :"feed-icon","leaf": true }
]
}
functionId : 功能id
functionDes : 功能描述
functionMappingName : 其实就是定义在view中的 xtype,方便加载
2.按部就班定义model和store
model:
Ext.define('PJ.model.FunctionModel',{
extend : 'Ext.data.Model',
fields : ['functionId','functionMappingName','functionDes']
});
store:
Ext.define('PJ.store.FunctionStore',{
extend : 'Ext.data.TreeStore',
model : 'PJ.model.FunctionModel',
autoLoad : true,
root : {
functionDes : '系统功能',
expanded : false
},
proxy : {
type : 'ajax',
url : 'json/Function.json',
reader: {
type: 'json',
successProperty: 'success'
}
}
});
3.点击左菜单,加载对应的功能,这里是UserInfoPanel,xtype就是functionMappingName中内容。
controller:
Ext.define('PJ.controller.MainController',{
extend : 'Ext.app.Controller',
views : ['MainWin','LeftWin','LeftWinFunctionTree','UserInfoPanel'],
stores: ['FunctionStore','UserInfo'],
models: ['FunctionModel','UserInfo'],
init : function(){
this.control({
'leftWinFunctionTree':{
itemclick : this.loadFunction
}
});
},
loadFunction : function(view,rec,item,index,eventObj){
var mainTab = Ext.getCmp('mainView');
//如果已有该id的tab,就激活它
//否则创建
var tab = mainTab.queryById('functionTab'+rec.get('functionId'));
if(tab){
mainTab.setActiveTab(tab);
}else{
tab = mainTab.add({
id: 'functionTab'+rec.get('functionId'),
title: rec.get('functionDes'),
closable: true,
xtype : rec.get('functionMappingName')
}).show();
};
}
});
xtype其实就是系统帮忙初始化了一个实例 ,所以可以直接引用,还是很方便的吧,不过就是必须在controller中声明对应的view,store,model等等一串,这个地方是不是也可以动态声明呢?
有图有真相:
- 大小: 14.4 KB
分享到:
相关推荐
"platform"这个文件名可能是EXTJS 4.2 Desktop MVC中的一个核心模块,通常EXTJS会将不同功能划分为不同的模块或平台,便于按需加载和优化性能。在EXTJS中,"platform"可能包含了针对不同浏览器或设备的特定实现,...
这本书籍《ExtJS 4.2 开发参考书》应该是对这个版本的ExtJS进行深入探讨的指南,旨在帮助开发者理解和应用其强大的功能。 在ExtJS 4.2中,主要的知识点包括: 1. **架构和核心概念**:理解MVC(Model-View-...
ExtJS 4.2是一个成熟且功能丰富的前端框架,用于构建数据密集型的单页应用程序(SPA)。它提供了大量的UI组件,如表格、图表、表单、树形菜单等,以及一个强大的数据包管理器,可以方便地与服务器通信。此外,ExtJS...
1、采用Spring MVC的静态加载缓存功能,在首页将Javascript文件、CSS文件和图片等静态资源文件加载进来放进内存,极大提高ExtJS的加载速度。 2、三种皮肤主题:经典、灰色和海王星,支持多浏览器和多分辨率。 3、...
- MVC(Model-View-Controller)架构的增强:ExtJS 4.2对MVC模式进行了优化,使得大型应用的组织和管理更加有序。 - 动态加载:4.2版本支持按需加载类和资源,减少了初始页面加载的时间,提高了用户体验。 - 数据包...
1、采用Spring MVC的静态加载缓存功能,在首页将Javascript文件、CSS文件和图片等静态资源文件加载进来放进内存,极大提高ExtJS的加载速度。 2、三种皮肤主题:经典、灰色和海王星,支持多浏览器和多分辨率。 3、...
1. 静态加载缓存功能:采用 Spring MVC 的静态加载缓存功能,在首页将 Javascript 文件、CSS 文件和图片等静态资源文件加载进来放进内存,极大提高 ExtJS 的加载速度。 2. 三种皮肤主题:经典、灰色和海王星,支持...
1采用Spring MVC的静态加载缓存功能,在首页将Javascript文件、CSS文件和图片等静态资源文件加载进来放进内存,极大提高ExtJS的加载速度。 2三种皮肤主题:经典、灰色和海王星,支持多浏览器和多分辨率。 3分别封装...
《通用后台管理系统——基于ExtJS 4.2+Hibernate 4.1.7+Spring MVC 3.2.8的高效框架》 本通用后台管理系统是一款高效、稳定且灵活的开发框架,适用于构建OA、网站、电子政务、ERP、CRM、APP后台等多种B/S架构的应用...
1、采用Spring MVC的静态加载缓存功能,在首页将Javascript文件、CSS文件和图片等静态资源文件加载进来放进内存,极大提高ExtJS的加载速度。 2、三种皮肤主题:经典、灰色和海王星,支持多浏览器和多分辨率。 3...
1、采用Spring MVC的静态加载缓存功能,在首页将Javascript文件、CSS文件和图片等静态资源文件加载进来放进内存,极大提高ExtJS的加载速度。 2、三种皮肤主题:经典、灰色和海王星,支持多浏览器和多分辨率。 3、...
ExtJS拥有丰富的UI组件和工具,能够轻松实现复杂的前端功能,如表格、树形菜单、窗口弹出框等,并支持高级的布局管理器,使得开发者能够快速搭建出美观且功能强大的用户界面。 ##### 3.2 ExtJS的优势 1. **提升...
7.1.5 为element对象提供加载功能:ext.elementloader / 295 7.1.6 为组件提供加载功能:ext.componentloader / 296 7.2 代理 / 299 7.2.1 代理概述 / 299 7.2.2 基本的代理:ext.data.proxy.proxy / 300 7.2.3...