route页面切换卡住

1 A页面有个下拉框,下拉数据有2000条左右
2 A页面切换到任意其他页面的时候,明显感觉到卡顿,要等4,5秒页面才切换过去
3 将A页面的该下拉框数据量减少到100的话,基本没有卡顿现象,依次调大数据量到200,500,1000,1500,明显感觉越来越卡,到1500的时候要卡个4,5秒
4 下拉框组件使用element ui的select组件,1.4.3版本,使用如下:

<el-select v-model="orgId" placeholder="全部" filterable clearable>
<el-option
    v-for="item in orgs"
    :key="item.orgId"
    :label="item.name"
    :value="item.orgId">
</el-option>
</el-select>

使用chrome自带的performance工具记录这个页面切换的动作,看到耗时大头在destory组件的地方,所以猜测是不是A页面切换到其他页面的时候,A页面的组件需要自动销毁掉,又因为数据量大可能导致要销毁的组件比较多,然后导致卡顿,所以请问下各位大大:
1 vue route页面切换的时候,组件销毁是同步的吗
2 如果是同步销毁的话可以改为异步的吗,我觉得几k的数据不至于这么慢吧,有什么办法规避吗
3 或者我的方向就错掉了,不是销毁组件引起,请帮帮忙,谢谢

阅读 7k
2 个回答
新手上路,请多包涵

A页面往后台请求多吗,如果多,继续往下看,如果不是很可能是element组件有性能问题。

很可能是请求过多导致的,chrome 同一个域名下,最多同时只能处理6个请求。
如果恰好在你切换路由的时候仍然有6个或以上的请求在等待(浏览器上是pending状态),那么则切换很卡,必须请求释放到6个以内才会顺畅。

不同浏览器同一个域名下同时处理最大请求数:
Firefox 2: 2
Firefox 3+: 6
Opera 9.26: 4
Opera 12: 6
Safari 3: 4
Safari 5: 6
IE 7: 2
IE 8: 6
IE 10: 8
Chrome: 6

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题