论坛首页 Web前端技术论坛

jquery easyui性能很差,项目差点被害死

浏览 117972 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (1)
作者 正文
   发表时间:2011-09-08  
jquery easyui就是开源的呀?应该理解下,easyui的维护只有寥寥几个人,不错了·
0 请登录后投票
   发表时间:2011-09-08  
我们的项目用的也是easyui 基本上所有组件都用过了,只是对浏览器要求比较高,IE7.0+ ,FF 3.6+,还是不错的。
0 请登录后投票
   发表时间:2011-09-08  
一般银行都还是停留在Ie6阶段,历史遗留问题,升级版本会造成其它很多应用不兼容
0 请登录后投票
   发表时间:2011-09-08  
zhongxuchen 写道
我觉得大家没有关注根本问题,根本问题就是性能差,IE6下面!另外就是tree的json数据结构非常不合理,其实可以借鉴ztree2.6的做法,通过pid就可以了!


其实作者根本就没有怎么考虑ie6的,ext在ie6下面的性能照样也好不到哪里去....用纯用js的东西,想在ie6上面神速起来,视乎有点难度···
0 请登录后投票
   发表时间:2011-09-08  
云淡云舒 写道

第一,楼主不怎么会用easyui,EasyUI的Tree形式是[childrn[]]形式,但是它具有ajax自动请求功能,在一个,linkbutton只不过是给添加了写css样式,添加样式影响到你的性能,这个有点不靠谱。

onBeforeLoad : function(row, param) {
	if (row) {
//chilren没有数据时,url地址不改变
 $(this).tree('options').url = 'xxx';
	} else {
//children为空是,ajax请求
	$(this).tree('options').url = 'xxx';
									}
		}


这样的树是一个动态加载的树。配合缓存就是一个很好的树,楼主为啥就说他不好呢?至于什么兼容性问题,好多UI都存在,而EASYUI是基于Jquery的,我想Jquery在兼容性方面还做得很不错。

 

 

难道你这是在做异步tree? 如果是的话,那你就还是没有把tree的原理弄懂····

0 请登录后投票
   发表时间:2011-09-08  
用Cappuccino的伤不起啊
0 请登录后投票
   发表时间:2011-09-09  
最近做的一个项目,严重拒绝IE6-Ie8...
0 请登录后投票
   发表时间:2011-09-09  
angelhau 写道
云淡云舒 写道

第一,楼主不怎么会用easyui,EasyUI的Tree形式是[childrn[]]形式,但是它具有ajax自动请求功能,在一个,linkbutton只不过是给添加了写css样式,添加样式影响到你的性能,这个有点不靠谱。

onBeforeLoad : function(row, param) {
	if (row) {
//chilren没有数据时,url地址不改变
 $(this).tree('options').url = 'xxx';
	} else {
//children为空是,ajax请求
	$(this).tree('options').url = 'xxx';
									}
		}


这样的树是一个动态加载的树。配合缓存就是一个很好的树,楼主为啥就说他不好呢?至于什么兼容性问题,好多UI都存在,而EASYUI是基于Jquery的,我想Jquery在兼容性方面还做得很不错。

 

 

难道你这是在做异步tree? 如果是的话,那你就还是没有把tree的原理弄懂····

当节点有子节点的时候去请求子节点的数据,加载到树上,什么叫没有把tree的原理弄懂?,楼主的意思就是嫌使用children这种数据格式,每次加载都需要把整棵树加载进来,性能会非常低,使用上面的形式,加载的时候首先是加载根节点,点击根节点的时候再去请求下面的子节点。这样不好?EasyUI中的Demo提供了这个例子。比如说上面的代码,当row不为空,说明还有子节点,$(this).tree('options').url="xxx.Action?parentId="+row.id;请求Action获取节点下面的数据。你所说的Tree的原理是?愿闻其详。

0 请登录后投票
   发表时间:2011-09-09  
IE6是SP3的吗?不是的话,XP补丁打到SP3试试
0 请登录后投票
   发表时间:2011-09-09  
云淡云舒 写道
angelhau 写道
云淡云舒 写道

第一,楼主不怎么会用easyui,EasyUI的Tree形式是[childrn[]]形式,但是它具有ajax自动请求功能,在一个,linkbutton只不过是给添加了写css样式,添加样式影响到你的性能,这个有点不靠谱。

onBeforeLoad : function(row, param) {
	if (row) {
//chilren没有数据时,url地址不改变
 $(this).tree('options').url = 'xxx';
	} else {
//children为空是,ajax请求
	$(this).tree('options').url = 'xxx';
									}
		}


这样的树是一个动态加载的树。配合缓存就是一个很好的树,楼主为啥就说他不好呢?至于什么兼容性问题,好多UI都存在,而EASYUI是基于Jquery的,我想Jquery在兼容性方面还做得很不错。

 

 

难道你这是在做异步tree? 如果是的话,那你就还是没有把tree的原理弄懂····

当节点有子节点的时候去请求子节点的数据,加载到树上,什么叫没有把tree的原理弄懂?,楼主的意思就是嫌使用children这种数据格式,每次加载都需要把整棵树加载进来,性能会非常低,使用上面的形式,加载的时候首先是加载根节点,点击根节点的时候再去请求下面的子节点。这样不好?EasyUI中的Demo提供了这个例子。比如说上面的代码,当row不为空,说明还有子节点,$(this).tree('options').url="xxx.Action?parentId="+row.id;请求Action获取节点下面的数据。你所说的Tree的原理是?愿闻其详。


真的服了你了,作为树应该考虑2点:

1、异步加载,点击一个节点取下一层

2、一次性加载,这个也是有应用场景的,不要只顾异步单层加载

考虑问题要完整,children这种模式一次性加载还得重新构造特定json数据格式,如果pid模式岂不更简单,你去看看jquery zTree2.6提供的模式,它有2种数据加载格式!

 

个人认为children这种数据格式(我不知道你有没有理解现在的children模式,如果多层树,json格式会children[ children[]],一层一层嵌套下去的!),而pid方式

数据是跟一般的表结构对应,开发起来更容易!

0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics