问题描述

在页面很快就加载出来时,仍然出现 加载动画

从而造成页面闪烁问题

UI 设计技巧

  1. 等待时间小于 1秒 ==> 不做处理
  2. 在 4 秒内显示加载动画
  3. 在一分钟内显示进度条(当前进度的百分比)
  4. 超过1分钟,显示进度条,还要预估结束时间

问题解决

思路:

  1. 在路由跳转开始时,获取当前时间
  2. 在路由完成时,再次获取当前时间
  3. 两者时间相减,得到路由渲染时间
  4. 根据技巧,去实现是否显示加载动画

实现:

  1. js 获取当前时间 【方法很多: JS获取当前时间的方法 - 知乎 (zhihu.com)
1
let timestamp = new Date().getTime();
  1. 将时间添加在 handleChangeStart 函数中