首页 > 其他分享 >uniapp页面生命周期函数执行时机

uniapp页面生命周期函数执行时机

时间:2023-10-17 17:16:33浏览次数:40  
标签:uniapp console log getTime 周期函数 Date new 页面

一、总览 

 

二、分析

通过浏览器控制台得到:

从上述实验我们可以得到以下结论:

onLoad 对应 created, onReady 对应 mounted, 不过uniapp页面生命周期函数执行时机略早于组件生命周期函数,在页面级vue文件中可优先考虑使用页面级生命周期函数。
需要依赖页面传参逻辑的需使用onLoad
在切换浏览器窗口时会频繁调用 onHide 和 onShow, 而其他生命周期函数则不会再调用,所以比较保守的做法是把接口调用写在onShow里,这样每次页面展示都会获取最新数据。

三、代码 

  onInit(){
    //仅百度小程序
    console.log('this is oninit--------'+ new Date().getTime())
  },
  beforeCreate() {
    console.log('// 进入路由')
    console.log('this is beforeCreate--------'+ new Date().getTime())
  },
  onl oad(query){
    //data, computed, method, prop, slots已经设置完成, 参数为上个页面传递的数据
    console.log('this is onl oad--------'+ new Date().getTime())
  },
  onShow(){
    //页面每次出现在屏幕上都触发,切换窗口会频繁触发onHide和onShow
    console.log('onshow获取$el:'+this.$refs.myNav) // 第一次进入页面为undefined,切换窗口则后续能获取到
    console.log('this is onshow-------'+ new Date().getTime())
  },
  created(){
    console.log('this is created-------'+ new Date().getTime())
  },
  beforeMount(){
    console.log('this is beforeMount-------'+ new Date().getTime())
  },
 
  onReady(){
    //页面渲染完成,dom树可用
    console.log('this is onready-------'+ new Date().getTime())
  },
  mounted(){
    console.log('this is mounted-------'+ new Date().getTime())
  },
 
  onHide(){
    // 页面隐藏,切换浏览器窗口时调用
    console.log('// 切换页面')
    console.log('this is onhide-------'+ new Date().getTime())
  },
  onUnload(){
    // 页面卸载, 切换路由时调用
    console.log('// 离开路由')
    console.log('this is onUnload-------'+ new Date().getTime())
  },
  beforeDestroy(){
    console.log('this is beforeDestroy-------'+ new Date().getTime())
  },
  destroyed(){
    console.log('this is destroyed-------'+ new Date().getTime())
  },

  

 

标签:uniapp,console,log,getTime,周期函数,Date,new,页面
From: https://www.cnblogs.com/chenyablog/p/17770138.html

相关文章

  • iframe实现与父页面跨域隔离的JavaScript 代码沙箱
    这篇文章主要介绍了使用iframe实现与父页面跨域隔离的JavaScript代码沙箱,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪目录正文1.iframe2.dataURL3.将JavaScript代码变成dataURL4.如果需要获取执行结果的话,基于postMessage定制通信机制正文假......
  • OpenHarmony页面级UI状态存储:LocalStorage
     LocalStorage是页面级的UI状态存储,通过@Entry装饰器接收的参数可以在页面内共享同一个LocalStorage实例。LocalStorage也可以在UIAbility内,页面间共享状态。本文仅介绍LocalStorage使用场景和相关的装饰器:@LocalStorageProp和@LocalStorageLink。说明:LocalStorage从API v......
  • ECS-Centos7登录页面出现Hint: caps lock on,输入大小写字母反了(大小写反转问题)
    问题描述:虚拟机Centos7,输入大小写字母反了,开启capslock的时候变成小写字母了,关闭则变成大写了。。。解决办法:只需要执行:setleds+caps 或 setleds-caps 即可。如图: ......
  • python+playwright 学习-39.登录页面滑动解锁
    前言登录页面会遇到滑块解锁,滑动解锁的目的就是为了防止别人用代码登录(也就是为了防止你自动化登录),有些滑动解锁是需要去拼图这种会难一点。有些直接拖到最最右侧就可以了,本篇讲下最简单的直接滑动最右侧的滑块解锁。滑动解锁场景看下图,是我本地写的一个slider.html网页 ......
  • 第二十一篇 - vue中实现页面刷新以及局部刷新的方法
    参考链接:https://blog.csdn.net/qq_41117240/article/details/127275478第一步:在需要局部刷新的标签添加 第二步:在data里面初始化isRefresh的值为true 第三步:在method里面添加刷新函数 第四步:在需要局部刷新的地方调用刷新函数this.updateRefresh()......
  • 小程序分享pdf文件(uniapp)
    share(){wx.downloadFile({url:'',//下载urlsuccess(res){//下载完成后转发wx.shareFileMessage({filePath:res.tempFilePath,suc......
  • 设置页面等待效果
    css*{margin:0;padding:0;}.load{position:absolute;z-index:9999!important;width:100%;height:100%;background:#1c1e20bf;}.loadmain{width:200px;height:60px;color:rgb(255,255,255);position......
  • uniapp全局修改字体
    App.vue中<stylelang="scss"> /*注意要写在第一行,同时给style标签加入lang="scss"属性*/ @import"uview-ui/index.scss"; @font-face{ font-family:'selffont'; src:url("/static/fonts/AlimamaFangYuanTiVF-Thin.ttf&quo......
  • web前端html+css页面内容的六种隐藏方式
    一、使用透明度语法:opacity:0注意:元素消失,但是还会占据空间,只是视觉看不出来<style>.box{width:100px;height:100px;background-color:aquamarine;opacity:0;}</style><divclass="box"></div> 二、使用display语法:display:none注意:元素消失,不会占据空间<style......
  • WINCC 7.5 SP2 web发布练习-续:不同账户打开不同的页面
    这一篇学习笔记我在新浪博客记录过,地址是WINCC7.5SP2web发布练习-续:不同账户打开不同的页面_来自金沙江的小鱼_新浪博客(sina.com.cn)我在这里再记录一遍在上午练习基础上,WINCC项目程序新增一个页面trend2。在Webnavigator处鼠标右键,选择web浏览发布器,使用向导将新的页面发布......