Extjs优化(一)删除冗余代码提高运行速度


Posted in Javascript onApril 15, 2013

Extjs 本身是一个加载慢的JS框架,这个需要程序员的多去优化,之前说过了JS的打包的优化
这次来写写怎么减少冗余代码,也是提高运行速度,包含了1、删除代码通用2、提交表单通用3、初始化Gird通用化 本次只写 删除代码优化
先贴出代码

/** 
* 获取个GridPanel的选择的记录 
*/ 
function $getGdSelectedIds(grid, idName) { 
var selRs = grid.getSelectionModel().getSelections(); 
var ids = Array(); 
for (var i = 0; i < selRs.length; i++) { 
ids.push(eval("selRs[i].data." + idName)); 
} 
return ids; 
} 
/** 
*删除 
*/ 
function $postDel(a) { 
Ext.Msg.confirm("信息确认", "您确认要删除所选记录吗?", 
function(b) { 
if (b == "yes") { 
Ext.getBody().mask("正在删除,请稍等"); 
Ext.Ajax.request({ 
url: a.url, 
params: { 
ids: a.ids 
}, 
timeout: 100000000,//default 30000 milliseconds 
method: "POST", 
success: function(c, d) { 
Ext.getBody().unmask(); 
Ext.ux.Toast.msg("操作信息", "成功删除该记录!"); 
if (a.callback) { 
a.callback.call(this); 
return; 
} 
if (a.grid) { 
a.grid.getStore().reload(); 
} 
}, 
failure: function(c, d) { 
Ext.getBody().unmask(); 
Ext.ux.Toast.msg("操作信息", "操作出错,请联系管理员!"); 
} 
}); 
} 
}); 
} 
/** 
* Gird批量删除操作 
*/ 
function $delGridRs(a) { 
var b = $getGdSelectedIds(a.grid, a.idName); 
if (b.length == 0) { 
Ext.ux.Toast.msg("操作信息", "请选择要删除的记录!"); 
return; 
} 
var c = { 
url: a.url, 
ids: b, 
grid: a.grid 
}; 
$postDel(c); 
}

单个删除代码优化结果由原来的24行代码修改为5行代码搞定,代码看上去也比较好看点。
var a = Ext.getCmp("PlanBookAllGrid"); 
//单个删除 
$postDel({ 
url: __ctxPath + "/traincost/multiDelPlanBook.action", 
ids: b, 
grid: a 
});

批量删除也是一样
$delGridRs({ 
url: __ctxPath + "/traincost/multiDelPlanBook.action", 
grid:c.gridPanel, 
idName:'mainid' 
});
Javascript 相关文章推荐
jquery 图片轮换效果
Jul 29 Javascript
全国省市二级联动下拉菜单 js版
May 10 Javascript
JavaScript编程中实现对象封装特性的实例讲解
Jun 24 Javascript
jQuery dataTables与jQuery UI 对话框dialog的使用教程
Sep 02 Javascript
使用开源工具制作网页验证码的方法
Oct 17 Javascript
详解Angular CLI + Electron 开发环境搭建
Jul 20 Javascript
seajs下require书写约定实例分析
May 16 Javascript
基于vue循环列表时点击跳转页面的方法
Aug 31 Javascript
JavaScript中BOM对象原理与用法分析
Jul 09 Javascript
微信小程序模板消息限制实现无限制主动推送的示例代码
Aug 27 Javascript
vue-resourc发起异步请求的方法
Feb 11 Javascript
JS控制下拉列表左右选择实例代码
May 08 Javascript
Extjs Gird 支持中文拼音排序实现代码
Apr 15 #Javascript
jquery+css+ul模拟列表菜单具体实现思路
Apr 15 #Javascript
js作用域及作用域链概念理解及使用
Apr 15 #Javascript
利用百度地图JSAPI生成h7n9禽流感分布图实现代码
Apr 15 #Javascript
jquery分页插件AmSetPager(自写)
Apr 15 #Javascript
Extjs 继承Ext.data.Store不起作用原因分析及解决
Apr 15 #Javascript
关于jQuery object and DOM element
Apr 15 #Javascript
You might like
php xml留言板 xml存储数据的简单例子
2009/08/24 PHP
php实现的支持断点续传的文件下载类
2014/09/23 PHP
php写入数据到CSV文件的方法
2015/03/14 PHP
php采用session实现防止页面重复刷新
2015/12/24 PHP
PHP常用字符串函数小结(推荐)
2018/08/05 PHP
PHP工厂模式的日常使用
2019/03/20 PHP
YII2框架中添加自定义模块的方法实例分析
2020/03/18 PHP
用jQuery简化JavaScript开发分析
2009/02/19 Javascript
ext jquery 简单比较
2010/04/07 Javascript
js读取配置文件自写
2014/02/11 Javascript
JQuery打造省市下拉框联动效果
2014/05/18 Javascript
教你使用javascript简单写一个页面模板引擎
2015/05/05 Javascript
javascript实现3D变换的立体圆圈实例
2015/08/06 Javascript
JavaScript将DOM事件处理程序封装为event.js 出现的低级错误问题
2016/08/03 Javascript
jQuery实现产品对比功能附源码下载
2016/08/09 Javascript
用Nodejs搭建服务器访问html、css、JS等静态资源文件
2017/04/28 NodeJs
Vue 进阶教程之v-model详解
2017/05/06 Javascript
JS原生数据双向绑定实现代码
2017/08/14 Javascript
vue2.0 自定义 饼状图 (Echarts)组件的方法
2018/03/02 Javascript
详解vue中$nextTick和$forceUpdate的用法
2019/12/11 Javascript
vue页面跳转实现页面缓存操作
2020/07/22 Javascript
[42:24]完美世界DOTA2联赛循环赛 LBZS vs DM BO2第一场 11.01
2020/11/02 DOTA
python类继承用法实例分析
2014/10/10 Python
python虚拟环境的安装配置图文教程
2017/10/20 Python
django请求返回不同的类型图片json,xml,html的实例
2018/05/22 Python
python实现画五角星和螺旋线的示例
2019/01/20 Python
简单了解python的一些位运算技巧
2019/07/13 Python
windows下python 3.9 Numpy scipy和matlabplot的安装教程详解
2020/11/28 Python
利用CSS3制作简单的3d半透明立方体图片展示
2017/03/25 HTML / CSS
Hotels.com英国:全球领先的酒店住宿提供商
2019/01/24 全球购物
工程测量与监理专业应届生求职信
2013/11/27 职场文书
考试作弊检讨书1000字(5篇)
2014/10/19 职场文书
材料员岗位职责
2015/02/10 职场文书
SpringCloud之@FeignClient()注解的使用方式
2021/09/25 Java/Android
Python实现批量自动整理文件
2022/03/16 Python
Redis基本数据类型哈希Hash常用操作命令
2022/06/01 Redis