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 源码分析笔记(7) Queue
Jun 19 Javascript
in.js 一个轻量级的JavaScript颗粒化模块加载和依赖关系管理解决方案
Jul 26 Javascript
Js控制弹窗实现在任意分辨率下居中显示
Aug 01 Javascript
JavaScript打印网页指定区域的例子
May 03 Javascript
创建js对象和js类的方法汇总
Dec 24 Javascript
详解JavaScript函数对象
Nov 15 Javascript
一起学写js Calender日历控件
Apr 14 Javascript
JavaScript中最常用的10种代码简写技巧总结
Jun 28 Javascript
快速掌握jquery分页插件jqPaginator的使用方法
Aug 09 jQuery
JavaScript中var、let、const区别浅析
Jun 24 Javascript
Windows下支持自动更新的Electron应用脚手架的方法
Dec 24 Javascript
基于element-ui对话框el-dialog初始化的校验问题解决
Sep 11 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 不错的学习资料
2009/02/06 PHP
深入探讨<br />和 \r\n两者有什么区别??
2013/06/05 PHP
centos下file_put_contents()无法写入文件的原因及解决方法
2017/04/01 PHP
浅析PHP反序列化中过滤函数使用不当导致的对象注入问题
2020/02/15 PHP
jquery BS,dialog控件自适应大小
2009/07/06 Javascript
新浪微博字数统计 textarea字数统计实现代码
2011/08/28 Javascript
Javascript图像处理—平滑处理实现原理
2012/12/28 Javascript
解析offsetHeight,clientHeight,scrollHeight之间的区别
2013/11/20 Javascript
javascript简单实现命名空间效果
2014/03/06 Javascript
angular.js分页代码的实例
2016/07/27 Javascript
JS简单实现浮动窗口效果示例
2016/09/07 Javascript
AngularJS 实现JavaScript 动画效果详解
2016/09/08 Javascript
VueJs单页应用实现微信网页授权及微信分享功能示例
2017/07/26 Javascript
bootstrap时间插件daterangepicker使用详解
2017/10/19 Javascript
Node.js 使用axios读写influxDB的方法示例
2018/10/26 Javascript
jQuery 查找元素操作实例小结
2019/10/02 jQuery
Vue使用axios引起的后台session不同操作
2020/08/14 Javascript
[01:04:29]DOTA2-DPC中国联赛 正赛 Phoenix vs XG BO3 第二场 1月31日
2021/03/11 DOTA
bat和python批量重命名文件的实现代码
2016/05/19 Python
python+splinter自动刷新抢票功能
2018/09/25 Python
tensorflow获取预训练模型某层参数并赋值到当前网络指定层方式
2020/01/24 Python
python对指定字符串逆序的6种方法(小结)
2020/04/02 Python
Django中Q查询及Q()对象 F查询及F()对象用法
2020/07/09 Python
python 制作网站筛选工具(附源码)
2021/01/21 Python
css3和jquery实现的可折叠导航菜单适合放在手机网页的导航菜单
2014/09/02 HTML / CSS
介绍一下#error预处理
2015/09/25 面试题
如何开发一个JQuery插件
2016/07/28 面试题
高考自主招生自荐信
2013/10/20 职场文书
小学生优秀评语大全
2014/04/22 职场文书
参赛口号
2014/06/16 职场文书
公司财务会计主管应聘求职信
2014/09/26 职场文书
优秀教师推荐材料
2014/12/16 职场文书
2014年语文教师工作总结
2014/12/18 职场文书
投资公司董事长岗位职责
2015/04/16 职场文书
《进击的巨人》新联动CM 兵长强势出击兽巨人
2022/04/05 日漫
python神经网络ResNet50模型
2022/05/06 Python