兄弟们, vue 网页有没有办法实现页面首页加载超过 1 秒才显示 loading, 1 秒内就不显示 loading 吗

2022-12-13 23:11:03 +08:00
 dafuyang
目前我采用的是常规的实现方式,在还 vue 没渲染的时候显示 loading ,挂载渲染后隐藏 loading ,首次效果不错,但是后续浏览器有缓存了,在加载很快的情况下,loading 的显示就会闪一下,感觉不是很爽,有办法实现我标题中的这种需求吗。。
5133 次点击
所在节点    Vue.js
52 条回复
lambdaq
2022-12-13 23:15:30 +08:00
强行假装 1 秒再展示即可。
dafuyang
2022-12-13 23:17:48 +08:00
@lambdaq 这个我也想到了,延迟 1 秒在隐藏,看看其他兄弟有没有好办法,不行的话只能这么改咯。。
renmu
2022-12-13 23:25:41 +08:00
全屏 loading 的话可以强行多看几秒 loading
rabbbit
2022-12-13 23:28:14 +08:00
const timeoutId = setTimeout(() => this.loading = true, 1000)
try {
const res = await getResource()
} catch(err) {
console.log(err)
}
this.loading = false
clearTimeout(timeoutId)
horseInBlack
2022-12-13 23:28:58 +08:00
骨架屏 / v-cloak
vace
2022-12-13 23:29:43 +08:00
如果你的 loading 在实例中的话,可以用 defineAsyncComponent 定义一个入口的异步组件,在 loader 里面加载数据和其他组件,用 delay 控制 loadingComponent 的展示时机。
SQLException
2022-12-13 23:30:34 +08:00
记一下平均耗时?超过一定范围才渲染 loading
anguiao
2022-12-13 23:31:25 +08:00
强行显示 1 秒的 loading 呗,不然还有啥办法呢?毕竟你不能预知要加载多久啊😂
dafuyang
2022-12-13 23:41:54 +08:00
@SQLException 咋判断时间呢,我题目就是问这个的意思。。
SQLException
2022-12-13 23:43:47 +08:00
@dafuyang #9 https://juejin.cn/post/6844903569900978189
参考这个?不是让你算现在这个页面加载多久再决定是否开启 loading
是让你算前面几个页面的平均值,小于一定值就禁用 loading
darkengine
2022-12-14 00:04:33 +08:00
在 index.html 的 head 元素里用 js script 脚本设置个 1 秒的 timeout ,到了再显示 loading 。当在 vue 加载出来时判断这个 timeout 在不,如果在的话(加载时间小于 1 秒)取消掉。
sheeta
2022-12-14 00:05:24 +08:00
刚好 1.1 秒加载完成呢,loading 不还是一闪而过吗,所以问题不在这
lightyisu
2022-12-14 00:53:25 +08:00
以前好像做过但是没用判断不出来 contentloaded 时间 伪 1S 感觉在浪费时间尽管人感受不出来速度。所以感觉没必要折腾完美。
yfugibr
2022-12-14 01:16:38 +08:00
300ms 内没加载完才显示 loading ,如果显示 loading ,至少显示 1s
MrHyde
2022-12-14 04:17:26 +08:00
1s 已经够久的了
huijiewei
2022-12-14 08:08:57 +08:00
我是强制显示 1 秒的 loading 。。
gaolingyi
2022-12-14 08:15:57 +08:00
antd 的 Spin 就是这种设计, 但是我觉得, 直接展示 loading,至少展示 300ms 的逻辑更简单
ragnaroks
2022-12-14 08:32:55 +08:00
直接显示加载指示器,给这个组件加上 1 秒的 opacity 从 0 到 100% 的 transtion
cangcang
2022-12-14 09:25:44 +08:00
让你的 loading 延迟一秒展示
SmiteChow
2022-12-14 09:29:06 +08:00
谁喜欢看 loading 啊,一闪而过代表网速性能好,是正反馈啊。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/902320

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX