起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2115|回复: 2

[分享] list嵌套优化速度

[复制链接]

39

主题

164

帖子

434

积分

中级会员

Rank: 3Rank: 3

积分
434
QQ
发表于 2016-11-9 16:33:04 | 显示全部楼层 |阅读模式
一个简单的例子写一下自己在list嵌套时做的优化,,
QQ截图20161109161425.png
大概的显示是这个样子的,很常见,外边职称的list,里边是嵌套职称内的用户list

数据不多,大概是300条左右,但是如果不经过优化,但是一开始直接打开的时候要等5s左右才可以打开。。。这无疑是一种灾难。。
一开始以为是数据库加载过多原因造成的,然后将数据写死,写到json中,发现数据并没有优化多少,
根据chrome的分析,网络获取的数据的时间1s不到,剩下的时间显示空白,好吧。。。然后预计就是画面渲染过慢导致的了,
解决的话想法也很简单,,就是"懒加载"(这里是已经加载数据完毕,只是没有显示)先显示外层list,然后通过点击显示内层list,哪块儿需要显示哪块儿
想法是简单的,但是在实践过程中,由于缺乏一定的知识,走了一些弯路,现在分享记录如下:
QQ截图20161109162837.png 这是布局的画面,很easy,就是两个list嵌套

核心代码:

  1. //展开通讯录
  2.         Model.prototype.li1Click = function(event) {
  3. //                var row = event.bindingContext.$object;
  4. //                var personData = this.comp("personData");
  5.                 // 延迟加载,在点击分组信息时加载人员信息
  6.                 var controlGroup1Dom = $(event.currentTarget).find("div[xid='controlGroup1']");
  7.                 var list2Dom = controlGroup1Dom.find("div[xid='list2']");
  8.                 this.comp(list2Dom[0]).refresh();
  9.                
  10.         };
  11.        
  12.         Model.prototype.controlGroupTitle1Click = function(event){
  13.                 // 获取箭头的jquery对象,进行箭头的转换
  14.                 var i = $(event.currentTarget).find("i[xid='i']");
  15.                 var src = $(i).attr("class");
  16.                 if (src.indexOf("right") >= 0) {
  17.                         $(i).attr("class", src.replace("right", "down"));
  18.                 } else {
  19.                         $(i).attr("class", src.replace("down", "right"));
  20.                 }

  21.         };
复制代码
有需要的可以看看哦。

75

主题

486

帖子

862

积分

高级会员

Rank: 4

积分
862
QQ
发表于 2016-11-9 16:37:02 | 显示全部楼层
为什么 一下子要加载那么多条
http://bbs.justep.com/thread-49855-1-1.html
回复 支持 反对

使用道具 举报

39

主题

164

帖子

434

积分

中级会员

Rank: 3Rank: 3

积分
434
QQ
 楼主| 发表于 2016-11-9 16:44:34 | 显示全部楼层
470772345 发表于 2016-11-9 16:37
为什么 一下子要加载那么多条

额,,首先我得把机构全部加载出来吧,然后人员和机构的list是有对应关系的,而且一般习惯性的通讯录都是全部加载出来了。。何况加载数据,将数据填充到data的时间很短,这儿我主要是针对显示的问题进行优化。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-3-5 00:21 , Processed in 0.110242 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表