【微信小程序】.js文件的代码结构与Page页面的生命周期

简介: 一个页面从创建到卸载,会经历加载、显示、渲染、隐藏、卸载 五个周期。MINA框架分别提供了5个生命周期函数来监听这5个特定的生命周期,以方便开发者可以在这些特定的时刻执行一些自己的代码逻辑

b88da1cd41924d2789e058595ed6177a.gif


🏆今日学习目标:第十期——.js文件的代码结构与page页面的生命周期

😃创作者:颜颜yan_

✨个人主页:颜颜yan_的个人主页

⏰预计时间:25分钟

🎉专栏系列:我的第一个微信小程序


前言


哈喽大家好,本次是微信小程序专栏的第十期。上期post页面已经完成,本期将为该页面加入js啦。

本期的主要内容是了解.js文件的代码结构与Page页面的生命周期,后续应用会详细讲解噢~


注意:每期内容是连载呢,建议大家可以看看往期内容,更好理解噢~


.js文件默认代码结构


如下是js文件的默认代码结构。默认代码结构包含了我们可能使用到的代码结构,整个页面执行了一个Page({...})方法,参数是一个Object对象,用来指定页面的初始数据(data)、生命周期函数(on开头的函数)、事件处理函数等。


// pages/post/post.js
Page({
    /**
     * 页面的初始数据
     */
    data: {
    },
    /**
     * 生命周期函数--监听页面加载
     * option为页面跳转所带来的参数
     */
    onLoad(options) {
    },
    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {
    },
    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {
    },
    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {
    },
    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {
    },
    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {
    },
    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {
    },
    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {
    }
})


页面的生命周期


生命周期函数


一个页面从创建到卸载,会经历加载、显示、渲染、隐藏、卸载 五个周期。


MINA框架分别提供了5个生命周期函数来监听这5个特定的生命周期,以方便开发者可以在这些特定的时刻执行一些自己的代码逻辑,它们分别是:


  1. onLoad:监听页面加载,一个页面只会调用一次。
  2. onShow:监听页面显示,每次打开页面都会调用。
  3. onReady:监听页面初次渲染完成,一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互。
  4. onHide:监听页面隐藏。
  5. onUnload:监听页面卸载。


接下来,我们做一个小测试来了解生命周期函数的触发时机。


8a27e29662c345019701a36f8eeaf958.png


可以看到,一个页面要正常显示,必须经历3个生命周期:加载、显示、渲染,执行顺序:onLoad、onShow、onReady。


注意:onShow的执行时刻是在onReady之前。


89d360fb5c3e40c2b5d79bc613d0f22d.png


注意:


  • onHide和onUnload这两个函数的触发需要执行一些API操作。当页面执行navigateTo方法或者使用小程序tab栏切换页面时会执行onHide函数,当页面执行redirectTo或者navigateBack的时候会执行onUnload函数。

- onLoad与onReady在整个页面的生命周期中只会执行1次,除非这个页面被执行力onUnload卸载掉了。


  • onHide与onShow在一次生命周期中可能会执行多次。


  • 小程序仅在第一次First Render完成后,提供了监听函数onReady。onReady仅用来监听“第一渲染”完成。


特定事件处理函数


  1. onPullDownRefresh:监听用户下拉动作的事件处理函数。
  2. onReachBottom:页面上拉触底事件的处理函数。
  3. onShareAppMessage:用户点击右上角分享。


总结


以上就是今天的学习内容啦~

如果有兴趣的话可以订阅专栏,持续更新呢~

咱们下期再见~


f3fbafb71143487fa1f077fd45a674a2.gif

相关文章
|
JavaScript 前端开发 内存技术
js文件的入口代码及需要入口代码的原因
js文件的入口代码及需要入口代码的原因
339 0
|
编解码 JavaScript 前端开发
如何在网页播放英文的m3u8文件(基于Javascript搭建的在线网页工具)
什么是m3u8?又该如何在网页中高效、便捷地播放英文的m3u8文件呢?今天这篇文章就带你一起了解,并推荐一种基于Javascript搭建的在线网页工具,让你轻松解决播放问题。
4797 0
|
JavaScript 前端开发 API
Next.js 实战 (六):如何实现文件本地上传
这篇文章介绍了在Next.js中如何实现文件上传到本地的方法。文章首先提到Next.js官方文档中没有提供文件上传的实例代码,因此开发者需要自行实现,通常有两种思路:使用Node.js原生上传或使用第三方插件如multer。接着,文章选择了使用Node.js原生上传的方式来讲解实现过程,包括如何通过哈希值命名文件、上传到指定目录以及如何分类文件夹。然后,文章展示了具体的实现步骤,包括编写代码来处理文件上传,并给出了代码示例。最后,文章通过一个效果演示说明了如何通过postman模拟上传文件,并展示了上传后的文件夹结构。
635 0
Next.js 实战 (六):如何实现文件本地上传
|
缓存 小程序 API
微信小程序页面导航与路由:实现多页面跳转与数据传递
本文深入探讨微信小程序的页面导航与路由机制,介绍多种页面跳转方式如`wx.navigateTo`、`wx.redirectTo`、`wx.switchTab`等,并讲解通过URL、全局变量和事件传递数据的方法。结合案例实现多页面跳转与数据传递,帮助开发者掌握这一重要技能。
|
JavaScript 前端开发 应用服务中间件
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
1114 0
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
4906 7
|
小程序 前端开发 测试技术
微信小程序的开发完整流程是什么?
微信小程序的开发完整流程是什么?
2718 7
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
5345 1
|
人工智能 自然语言处理 小程序
技术小白如何利用DeepSeek半小时开发微信小程序?
通过通义灵码的“AI程序员”功能,即使没有编程基础也能轻松创建小程序或网页。借助DeepSeek V3和R1满血版模型,用户只需用自然语言描述需求,就能自动生成代码并优化程序。例如,一个文科生仅通过描述需求就成功开发了一款记录日常活动的微信小程序。此外,通义灵码还提供智能问答模式,帮助用户解决开发中的各种问题,极大简化了开发流程,让普通人的开发体验更加顺畅。
4224 11
技术小白如何利用DeepSeek半小时开发微信小程序?
|
小程序 Java 关系型数据库
weixin163基于微信小程序的校园二手交易平台系统设计与开发ssm(文档+源码)_kaic
本文介绍了一款基于微信小程序的校园二手物品交易平台的开发与实现。该平台采用Java语言开发服务端,使用MySQL数据库进行数据存储,前端以微信小程序为载体,支持管理员和学生两种角色操作。管理员可管理用户、商品分类及信息、交易记录等,而学生则能注册登录、发布购买商品、参与交流论坛等。系统设计注重交互性和安全性,通过SSM框架优化开发流程,确保高效稳定运行,满足用户便捷交易的需求,推动校园资源共享与循环利用。