【微信小程序】一文读懂小程序的生命周期和路由跳转

简介: 【微信小程序】一文读懂小程序的生命周期和路由跳转

 image.gif编辑

目录

前言

一、简单谈谈微信小程序

1、在结构和样式方面

2、在调用微信生态系统功能时

二、小程序生命周期

三、小程序路由跳转

1. 通过组件navigator跳转

2.通过api跳转wx.navigateTo() , wx.navigateBack(), wx.redirectTo() , wx.switchTab(), wx.reLanch()

总结


前言

       微信小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载。对于开发者而言,微信小程序开发门槛相对较低,难度不及APP,能够满足简单的基础应用,适合生活服务类线下商铺以及非刚需低频应用的转换。微信小程序能够实现消息通知、线下扫码、公众号关联等七大功能。其中,通过公众号关联,用户可以实现公众号与微信小程序之间相互跳转。


一、微信小程序与vue对比

image.gif编辑

1、在结构和样式方面

       小程序提供了一些常用的标签与控件,比如: view,小程序主要的布局元素,类似于html标签的div,你也完全可以像控制div那样去控制view。 scroll-view,你要滚动内容的话,没必要用view去做overflowscroll-view提供了更为强大的功能,通过参 数的调整,你可以控制滚动方向,触发的事件等等

       配置文件app.json平级的还有一个app.js文件,是小程序的脚本代码。我们可以在这个文件中监听并处理 小程序的生命周期函数、声明全局变量,在每个page目录里的js做当前页面的业务操作。但是小程序的 页面的脚本逻辑是在JsCore中运行,JsCore是一个没有窗口对象的环境,所以不能在脚本中使用 window,也无法在脚本中操作组件,所以我们常用的zepto/jquery 等类库也是无法使用的。

       另一个app.wxss文件,这个是全局的样式,所有的页面都会调用到,每个项目目录下面的wxss是局部样 式文件,不会和其他目录产生污染,可以放心使用样式名。

他提供的WXSS(WeiXin Style Sheets)是一套样式语言,具有 CSS 大部分特性,可以看作一套简化版的css。 同时为了更适合开发微信小程序,还对 CSS 进行了扩充以及修改,直接帮我们把适配的一部分工作都做 了,比如他的rpx(responsive pixel),可以根据屏幕宽度进行自适应,规定屏幕宽为750rpx。如在 iPhone6 上,屏幕宽度为375px,共有750个物理像素,则750rpx = 375px = 750物理像素,1rpx = 0.5px = 1 物理像素。

image.gif编辑

2、在调用微信生态系统功能时

微信小程序提供了相应的api,比如你要修改一个头像,可以使用 wx.chooseImage、

获取地理位置信息 wx.getLocation、

文件保存 wx.FileSystemManager.saveFile等等

二、小程序生命周期

image.gif编辑

    • onReady 生命周期函数--监听页面初次渲染完成
    • onShow 生命周期函数--监听页面显示
    • onHide 生命周期函数--监听页面隐藏
    • onUnload 生命周期函数--监听页面卸载
    • onPullDownRefresh 页面相关事件处理函数--监听用户下拉动作
    • onReachBottom 页面上拉触底事件的处理函数
    • onShareAppMessage 用户点击右上角转发
    • onPageScroll 页面滚动触发事件的处理函数
    • onTabItemTap 当前是 tab 页时,点击 tab 时触发

    三、小程序路由跳转

    1. 通过组件navigator跳转

    设置url属性指定跳转的路径,设置open-type属性指定跳转的类型(可

    选),open-type的属性有 redirect, switchTab, navigateBack

    代码如下(示例):

    // redirect 对应 API 中的 wx.redirect 方法
    <navigator url="/page/redirect/redirect?title=redirect" open-type="redirect">在当
    前页打开</navigator>
    // navigator 组件默认的 open-type 为 navigate
    <navigator url="/page/navigate/navigate?title=navigate">跳转到新页面</navigator>
    // switchTab 对应 API 中的 wx.switchTab 方法
    <navigator url="/page/index/index" open-type="switchTab">切换 Tab</navigator>
    // reLanch 对应 API 中的 wx.reLanch 方法
    <navigator url="/page/redirect/redirect?title=redirect" open-type="redirect">//关
    闭所有页面,打开到应用内的某个页面
    // navigateBack 对应 API 中的 wx.navigateBack 方法
    <navigator url="/page/index/index" open-type="navigateBack">关闭当前页面,返回上一级
    页面或多级页面</navigator>

    image.gif

    2.通过api跳转

    wx.navigateTo() , wx.navigateBack(), wx.redirectTo() , wx.switchTab(), wx.reLanch()

    代码如下(示例):

    wx.navigateTo({
    url: 'page/home/home?user_id=1' // 页面 A
    })
    wx.navigateTo({
    url: 'page/detail/detail?product_id=2' // 页面 B
    })
    // 跳转到页面 A
    wx.navigateBack({
    delta: 2 //返回指定页面
    })
    // 关闭当前页面,跳转到应用内的某个页面。
    wx.redirectTo({
    url: 'page/home/home?user_id=111'
    })
    // 跳转到tabBar页面(在app.json中注册过的tabBar页面),同时关闭其他非tabBar页面。
    wx.switchTab({
    url: 'page/index/index'
    })
    // 关闭所有页面,打开到应用内的某个页面。
    wx.reLanch({
    url: 'page/home/home?user_id=111'
    })
    该处使用的url网络请求的数据。

    image.gif


    总结

           以上就是今天要讲的内容,本文仅仅简单介绍了微信小程序的生命周期和路由跳转方法,以及和vue项目的对比,希望对大家有所帮助

    image.gif编辑


    目录
    相关文章
    |
    2月前
    |
    小程序 前端开发 Android开发
    小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
    小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
    514 29
    小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
    |
    2月前
    |
    JSON 监控 小程序
    微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
    微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
    133 14
    微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
    |
    4月前
    |
    存储 移动开发 小程序
    校园圈子系统小程序(圈子论坛、私信聊天、资料共享、二手交易、兼职,跑腿)开源码开发/微信公众号、小程序、H5多端账号同步/搭建多城市的综合社交生活平台
    基于开源技术栈构建的校园圈子系统小程序,整合社交与生活服务功能,涵盖兴趣圈子、私信聊天、资料共享、二手交易、兼职跑腿等六大核心模块。通过多端账号同步(微信公众号/小程序/H5),实现数据实时交互,满足学生群体的多元化需求。项目精准锚定校园市场,以“社交+服务”双轮驱动,提供一站式解决方案,支持快速部署与多校区运营,同时具备广告、佣金、会员等多元变现能力,是打造校园生态的理想工具。
    309 2
    校园圈子系统小程序(圈子论坛、私信聊天、资料共享、二手交易、兼职,跑腿)开源码开发/微信公众号、小程序、H5多端账号同步/搭建多城市的综合社交生活平台
    |
    9月前
    |
    存储 JSON 小程序
    微信小程序入门之新建并认识小程序结构
    微信小程序入门之新建并认识小程序结构
    150 1
    ly~
    |
    10月前
    |
    存储 供应链 小程序
    除了微信小程序,PHP 还可以用于开发哪些类型的小程序?
    除了微信小程序,PHP 还可用于开发多种类型的小程序,包括支付宝小程序、百度智能小程序、抖音小程序、企业内部小程序及行业特定小程序。在电商、生活服务、资讯、工具、娱乐、营销等领域,PHP 能有效管理商品信息、订单处理、支付接口、内容抓取、复杂计算、游戏数据、活动规则等多种业务。同时,在企业内部,PHP 可提升工作效率,实现审批流程、文件共享、生产计划等功能;在医疗和教育等行业,PHP 能管理患者信息、在线问诊、课程资源、成绩查询等重要数据。
    ly~
    207 6
    |
    5月前
    |
    小程序 数据安全/隐私保护 开发者
    【02】微信支付商户申请下户到配置完整流程-微信开放平台申请APP应用-微信商户支付绑定appid-公众号和小程序分别申请appid-申请+配置完整流程-优雅草卓伊凡
    【02】微信支付商户申请下户到配置完整流程-微信开放平台申请APP应用-微信商户支付绑定appid-公众号和小程序分别申请appid-申请+配置完整流程-优雅草卓伊凡
    234 3
    |
    5月前
    |
    人工智能 小程序 程序员
    【视频测评 DEMO 参考】VSCode 神级 AI 插件通义灵码:完全免费+实战教程+微信贪吃蛇小程序
    VSCode 神级 AI 插件通义灵码:完全免费+实战教程+微信贪吃蛇小程序
    432 8
    |
    5月前
    |
    存储 小程序 前端开发
    微信小程序与Java后端实现微信授权登录功能
    微信小程序极大地简化了登录注册流程。对于用户而言,仅仅需要点击授权按钮,便能够完成登录操作,无需经历繁琐的注册步骤以及输入账号密码等一系列复杂操作,这种便捷的登录方式极大地提升了用户的使用体验
    1470 12
    |
    5月前
    |
    缓存 小程序 API
    微信小程序页面导航与路由:实现多页面跳转与数据传递
    本文深入探讨微信小程序的页面导航与路由机制,介绍多种页面跳转方式如`wx.navigateTo`、`wx.redirectTo`、`wx.switchTab`等,并讲解通过URL、全局变量和事件传递数据的方法。结合案例实现多页面跳转与数据传递,帮助开发者掌握这一重要技能。
    |
    9月前
    |
    缓存 小程序 UED
    如何利用小程序的生命周期函数实现数据的加载和更新?
    如何利用小程序的生命周期函数实现数据的加载和更新?
    231 4

    热门文章

    最新文章