ge
ge
  • 发布:2020-06-03 11:16
  • 更新:2022-01-06 11:21
  • 阅读:1299

页面跳转时为什么先执行页面的onload方法

分类:uni-app

页面跳转时为什么先执行页面的onload方法
onload写了
uni.showLoading({
title:'加载中...',
})
页面还没转过去,showloading就已经执行了

2020-06-03 11:16 负责人:无 分享
已邀请:

最佳回复

DCloud_uniCloud_JSON

DCloud_uniCloud_JSON

缺乏对生命周期的理解,看你的描述你视乎要的是onShow

  • ge (作者)

    onload页面加载时执行一次,onshow页面每次显示都执行,仔细看我问题,正常我们打开页面的时候,一般都是在目标页面的onload里请求接口加载数据,

    2021-03-30 14:03

2***@qq.com

2***@qq.com

楼主有解决方案吗?

  • ge (作者)

    settimeout(()=>{ xxxx },300)加上300毫秒延迟

    2021-03-30 14:04

哈库拉玛塔塔

哈库拉玛塔塔 - 简单又好吃

页面加载完才执行可以写在onReady中,仔细看page生命周期的说明

4***@qq.com

4***@qq.com

onload 挂脚本,肯定先起来

ge

ge (作者)

之前写apicloud的时候,会有tapmode 来处理点击300毫秒延迟的问题,但是uni里并没有类似的解决方式,所以只能手动的在onload里处理
onload(){
setTimeout(() => {
xxx
}, 300);
}

7***@qq.com

7***@qq.com - 江江123

this.$nextTick(()=>{})了解一下?

1***@qq.com

1***@qq.com

页面A跳转页面B的过程中
还未显示页面B时,页面B的onLoad方法就开始执行了,此时的页面B中的onLoad的uni.showLoading会在页面A中出现
显示页面B时,uni.showLoading消失,但此时数据尚未请求到

  • 1***@qq.com

    楼主,你知道为啥吗。我用你的方法要设置700才行,否则只会在页面B中闪一下

    2022-01-06 11:23

该问题目前已经被锁定, 无法添加新回复