微信小程序的生命周期

微信小程序 ---- 生命周期 应用生命周期是指应用程序进程从创建到消亡的整个过程小程序的生命周期指的是 小程序从启动到销毁的整个过程在打开一个小程序应用的时候都需要经历一系列的初始化步骤,比如页面是否加载完成、页面是否初次渲染完成等等。在此过程中,小程序也会运行被称为生命周期钩子的函数,这些函数由小程序框架本身提供,被称为生命周期函数,生命周期函数会按照顺序依次自动触发调用。帮助程序员在特定的时机执行特定的操作,辅助程序员完成一些比较复杂的逻辑。让开发者有机会在特定阶段运行自己的代码。 阅读详情

1小程序全局的生命周期

主要有如下四个(在app.js中)
onLaunch 启动-(本地存储,登录)
onShow前台展示-开始播放与运行
onHide后台运行-停止播放与运行)
onError发生错误-监听处理错误)

 onError(){
    console.log("小程序生命周期:onError小程序发送错误")
    // 提示与重启
  },
  onHide(){
    console.log("小程序生命周期:onHide小程序后台运行")
    // 停止播放
  },
  onShow(){
    console.log("小程序生命周期:onShow小程序前台展示")
    // 恢复播放
  },
  onLaunch() {
    console.log("小程序生命周期:onLaunch页面启动")
    // 本地存储,系统信息获取,登录获取code

2.页面的生命周期(局部)

onLoad 加载完-(获取页面传参,初始化,网络请求,本地出错)
onReady首次渲染完毕-(获取节点)
onShow前台显示
onHIde后台运行
onUnload 页面被卸载

* 生命周期函数--监听页面加载
   */
  onLoad(options) {
    console.log("页面生命周期:onLoad加载")
    // 1. 发起网络请求2. 获取页面传递的参数3. 页面本地存4. 初始化
  },  
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {
    console.log("页面生命周期:onReady第一次渲染完成")
    // 1. 操作节点(没有window,document.getxxx,document.getElement)
    // 创建一个选中器
    const query = wx.createSelectorQuery()
    // 选中h1节点 获取他的边界
    query.select('.h1').boundingClientRect()
    // 获取窗口的位置信息
    query.selectViewport().scrollOffset();
 
    // 执行命令返回结果
    query.exec(function(res){
      // 获取元素的边界信息,bottom,top ,left,right,height,width
      console.log(res[0]);
      // 窗口信息 scrollHeight  scrollLeft: 0  scrollTop: 0  scrollWidth: 320
      console.log(res[1]);
      
    })
    // create创建Selector选择器,query查询;bounding边界Client客户界面Rect区域
    // Viewport视口,scrollOffset滚动与偏移
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
      console.log("页面生命周期:onShow页面前台显示")
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {
    console.log("页面生命周期:onHide后台运行")
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {
    console.log("页面生命周期:onUnload页面被卸载")
    // 当页面被移除页面栈时候执行(redirect会移出,navigateBack移出)
    // 小程序页面栈总共5层
  },

3.固定的回调函数

onPullDownRefresh:下拉刷新

  onPullDownRefresh() {
    console.log("下拉刷新回调函数")
    // 在配置.json中 "enablepullDownRefresh":true
    // wx.stopPullDownRefresh()//停止下拉刷新
  },

onReachBottom:上拉触底
onShareAppMessage:右上角分享

  onShareAppMessage() {
      // 默认以当前页面的截图
      // 实际中,可以网络请求一个数组,从数组随机的获取一组参数
      return {
        title:"送你50元现金红包",
        path:"/pages/yidian/yidian",
        imageUrl:"https://img1.baidu.com/it/u=2192736850,1088345825&fm=253&fmt=auto&app=138&f=JPEG?w=375&h=500"
      }
  },

onShareTimeline:分享到朋友圈

// 分享到朋友圈
  onShareTimeline(){
    // 不返回也是有个默认的当前页面效果的
    return {
      title:"给,这是你喜欢的",
      query:"?name=mumu&age=18",
      imageUrl:"https://img1.baidu.com/it/u=2192736850,1088345825&fm=253&fmt=auto&app=138&f=JPEG?w=375&h=500"
    }
  },

onPageScroll:页面滚动 e.scrollTop:页面滚动的距离

 onPageScroll(e){
    //  当页面的滚动距离大于100时候显示回到顶部
    if(e.scrollTop>100){
      this.setData({showTop:true})
    }else{
      // 否则隐藏回到顶部
      this.setData({showTop:false})
    }
  },
  // 回到顶部
  goTop(){
    // 页面滚动到0的位置,时间为600毫秒
    wx.pageScrollTo({
      duration: 600,
      scrollTop:0,
    })
  }

onTabitemTap:页面底部栏被点击

4.获取节点信息

在页面创建标签

//wxml页面
<view class="h1">
  中华人民共和国
</view>

在js中构建方法

//js中
onReady() {
    console.log("页面生命周期,onReady第一次渲染完成");
    // 可以操作节点
    //创建一个选中器
    const query = wx.createSelectorQuery()
    //选中h1节点,获取它的边界
    query.select(".h1").boundingClientRect()
    //获取窗口的位置信息
    query.selectViewport().scrollOffset()
    //执行命令返回结果
    query.exec(function(res){
      //获取元素的边界信息 ,bottom,top,left,height,width
      console.log(res[0]);
      //窗口信息 scrollHeight scrollLift scrollTop scrollWidth
      console.log(res[1]);
      //create创建 Selector选择器  query查询 bounding边界 ,Client客户界面 Rect区域
      //Viewport视口 scrollOffset 滚动与偏移
    })
},

5.微信内置api

1.界面
wx.showModal:显示模态框
wx.showToast:显示提示
wx.showLoading:加载提示
wx.setNavigationBarTitle:设置标题栏的文本
wx.setNavigationBarColor:设置标题栏的颜色(背景颜色和字体颜色)
2.网络请求:wx.request()
3.用户头像
4.登录
5.图片与文件

//wxml页面
<image src="{{pic}}" mode="aspectFill" bindtap="downPic"></image>
<button type="warn" bindtap="upImg">上传图片</button>

js配置

//js
upImg(){
    var that  =  this;
    // 选择图片
    // wx.chooseImage({
    // 选择媒体
    wx.chooseMedia({
      count: 1, //媒体数量
      success(res){
        console.log(res)
        // 获取选择的第0个图片临时地址
        var tempFile = res.tempFiles[0].tempFilePath;
        wx.uploadFile({
          filePath: tempFile,
          name: 'file',
          url: 'http://dida100.com/ajax/file.php',
          success:res=>{
            console.log(res);
            // 转换为js对象
            var data = JSON.parse(res.data);
            // 更新图片信息
            that.setData({pic:"http://dida100.com"+data.pic})
          }
        })
      }
    })
  },
  downPic(){
    wx.downloadFile({
      url: this.data.pic,
      success(res){
        console.log(res);
        // 把临时文件保存到相册(需要用户授权)
        wx.saveImageToPhotosAlbum({
          filePath: res.tempFilePath,
          success(){
            // 提示保存成功
            wx.showToast({
              title: '下载图片成功',
              icon:"none"
            })
          }
        })
      }
    })
  },

6.系统信息
7.网络

微信小程序——生命周期生命周期的分类,页面生命周期生命周期函数的分类,应用的生命周期函数,页面的生命周期函数,wxs脚本概述 生命周期函数:是由小程序框架提供的内置函数,会伴随着生命周期,自动按次序执行。生命周期函数的作用:允许程序员在特定的时间点执行某些特定的操作。例如,页面刚加载的时候,可以在 onLoad 生命周期函数中初始化页面的数据。注意:生命周期强调的是时间段,生命周期函数强调的是时间点。什么是wxswxs ( WeiXin Script )是小程序独有的一套脚本语言,结合 WXML ,可以构建出页面的结构。 阅读详情

相关推荐

微信小程序生命周期总结

微信小程序生命周期分类 应用生命周期 页面生命周期 组件生命周期 应用生命周期 小程序被使用和关闭就代表这个周期的开始与结束,它是入口文件(根目录下的app.js/app.vue/app.jsx)所使用的的。 (1)onLaunch:初始化小程序时触发,全局只触发一次。 官方说明:生命周期回调——监听小程序初始化。 (2)onShow:小程序初始化完成或用户从后台切换到前台时触发 官方说明...

tdmbs的博客 1042

微信小程序开发:微信小程序生命周期总结

通过本文关于前端开发中的微信小程序生命周期的详细介绍,不管是在实际的前端开发工作中还是在前端求职面试中都是非常关键的知识点,所以作为前端开发者来说必须要掌握它相关的内容,尤其是从事前端开发不久的开发者来说尤为重要,是一篇值得阅读的文章,重要性就不在赘述。欢迎关注,一起交流,共同进步。

全沾软贱开发攻城狮 1万+

微信小程序生命周期-组件生命周期

微信小程序的组件生命周期是指从组件被创建到最终销毁的整个过程。在这个过程中,组件会经历多个生命周期事件,这些事件为开发者提供了在不同阶段执行特定操作的机会。微信小程序的组件生命周期涵盖了从创建到销毁的各个阶段,通过合理利用这些生命周期事件,开发者可以更好地管理组件的状态,优化性能,提高用户体验。希望本文的内容能够帮助你更好地理解和使用微信小程序的组件生命周期。如果你有任何问题或需要进一步的帮助,请随时留言交流。😊。

墨夶的博客 1741

微信小程序生命周期

1.应用级别的生命周期(整个App的生命周期) 2.页面级别的生命周期(单个页面(page)的生命周期) 3.组件基本的生命周期(组件(component)的生命周期

俎树振的博客 6511

微信小程序——生命周期

组件的生命周期,指的是组件自身的一些函数,这些函数在特殊的时间点或遇到一些特殊的框架事件时被自动触发。最重要的生命周期是createdattached、detached,包含一个组件实例生命流程的最主要时间点。组件的的生命周期也可以在lifetimes字段内进行声明(这是推荐的方式,其优先级最高)created组件实例刚刚被创建时执行attached组件实例进入页面节点树时执行ready组件在视图层布局完成后执行moved组件实例被移动到节点树另一个位置时执行detached。

crazyXB的博客 4772

微信小程序生命周期详解

欢迎来到前端入门之旅!这个专栏是为那些对Web开发感兴趣、刚刚开始学习前端的读者们打造的。无论你是初学者还是有一些基础的开发者,我们都会在这里为你提供一个系统而又亲切的学习平台。我们以问答形式更新,为大家呈现精选的前端知识点和最佳实践。通过深入浅出的解释概念,并提供实际案例和练习,让你逐步建立起一个扎实的基础。无论是还是最新的前端框架和工具,我们都将为你提供丰富的内容和实用技巧,帮助你更好地理解并运用前端开发中的各种技术。同时,我们也会关注最新的前端趋势和发展动态。

欢迎来到我的前端博客!这里汇集了关于前端开发的最新技术、实用工具和经验分享。我将为你提供详细的教程、代码示例和实战案例,帮助你掌握Web开发的核心概念和技能。不论你是初学者还是有经验的开发者,这个博客都适合你。 1129

前端性能:微信小程序生命周期详解

微信小程序开发中微信小程序API的使用是必备技能,但是关于微信小程序生命周期也是首先要了解和掌握的知识点,尤其是现在的前端开发领域,关于前端的各种框架和技术都要会,而且微信小程序的语法就是JS的翻版,掌握它不在话下。了解微信小程序生命周期,对在小程序开发中的性能提升也是很有帮助的。

全沾软贱开发攻城狮 1万+

小程序生命周期

小程序作为一种轻量级的应用开发模式,在移动应用领域得到了广泛应用。为了更好地理解和掌握小程序的生命周期,本文将从应用生命周期、页面生命周期和组件生命周期三个方面进行详细讲解,并附上对应部分的代码示例。

weixin_42560424的博客 5471

微信小程序开发:探索微信小程序生命周期

在开始介绍具体生命周期之前,我们先来了解一下什么是生命周期生命周期是指一个对象从创建到销毁的整个过程。在微信小程序中,生命周期主要分为两大类:全局App对象的生命周期和页面Page对象的生命周期。了解这两种生命周期对于我们编写小程序代码非常重要,因为它们可以帮助我们在合适的时机执行特定的操作,例如数据初始化、网络请求、资源释放等。本文详细介绍了微信小程序生命周期的概念、全局App对象和页面Page对象的生命周期方法、生命周期在实际应用场景中的用途以及一些常见问题的解决方案。

weixin_45766780的博客 3082

微信小程序开发系列(二十七)·小程序生命周期详细介绍

一个小程序完整的生命周期由应用生命周期页面生命周期和组件生命周期三部分来组成。应用生命周期:是指应用程序进程从创建到消亡的整个过程。小程序的生命:周期指的是小程序从启动到销毁的整个过程。小程序生命周期伴随着一些函数,这些函数由小程序框架本身提供,被称为生命周期函数,生命周期函数会按照顺序依次自动触发调用。帮助程序员在特定的时机执行特定的操作,辅助程序员完成一些比较复杂的逻辑。

时光の尘的博客 4736

微信小程序生命周期

其中前台和后台是相对手机而言,简单来说打开小程序就是在前台,使用home键后返回桌面,就代表小程序放到了后台。生命周期函数的作用:允许程序员在特定的时间点,执行某些特定的操作。例如,页面刚加载的时候,可以在onLoad生命周期函数中初始化页面的数据。生命周期(Life Cycle)是指一个对象从创建→运行→销毁的整个阶段,强调的是一个时间段。特指小程序中,每个页面的加载→渲染→销毁的过程。中间小程序运行的过程,就是小程序的生命周期。小程序的启动,表示生命周期的开始。小程序的关闭,表示生命周期的结束。

m0_61396052的博客 970

微信小程序-生命周期

理解和掌握生命周期是构建高效、稳定应用的关键。

qq_65834473的博客 1297

学习微信小程序day05 -生命周期生命周期函数、分类、wxs脚本

学习微信小程序day05 -生命周期生命周期函数、分类、wxs脚本

qq_24484317的博客 991

微信小程序(四)小程序生命周期

小程序的生命周期说白了就是指程序从创建、到开始、暂停、唤起、停止、卸载的过程。 我们大概从三个角度看一下小程序的生命周期。 (1):应用生命周期 (2):页面生命周期 (3):应用生命周期影响页面生命周期 一:应用生命周期 放一张从网上找的图: 1:用户首次打开小程序,触发 onLaunch(全局只触发一次)。: 2:小程序初始化完成后,触发onShow方法,监听小程序显示。 3:小程序从前台进入后台,触发 onHide方法。: 4:小程序从后台进入前台显示,触发 onShow方法。

Maisucsdn的博客 1583
上一篇: 微信小程序
下一篇: 小程序自定义组件
Lin_25937
博客等级 码龄4年 10粉丝 26原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值