• 【微信小程序开发】页面导航与传参


    目录

    一、页面导航

    (1)概述

    (2)分类

    (3)声明式导航

    1)导航到tabBar页面

    2)导航到非tabBar页面

    3)后退导航

    (4)编程式导航

    1)导航到tabBar页面

    2)导航到非tabBar页面

    3)后退导航

    (5)导航传参

    1)声明式导航传参

     2)编程式导航传参


    一、页面导航

    (1)概述

    顾名思义,页面导航指的是页面之间的相互跳转,

    而页面传参就是在加载页面时将特定的参数传递过去从而成为该页面的参数。

    (2)分类

    • 声明式导航:在页面上声明一个导航组件,通过点击该组件实现页面跳转
    • 编程式导航:通过调用小程序专门的导航API,实现页面之间的跳转

    (3)声明式导航

    1)导航到tabBar页面

    tabBar页面指的是被配置为底部tabBar的页面,点击实现页面间快速切换

    配置步骤

    • 声明组件
    • 指定URL属性,即需要跳转到的页面的路径,注意路径必须以  开头
    • 指定open-type属性,即实现跳转的方式,跳转到tabBar页面该属性必须为 switchTab

    示例代码

    <navigator url="/pages/index/index" open-type="switchTab">导航到home首页navigator>
    

    2)导航到非tabBar页面

    非tabBar页面指的是没有被配置为底部tabBar的页面

    配置步骤

    • 声明组件
    • 指定URL属性,即需要跳转到的页面的路径,注意路径必须以  开头
    • 指定open-type属性,即实现跳转的方式,跳转到tabBar页面该属性必须为 navigator
    • (为了开发方便,官方规定此时open-type属性也可以省略不写)

    示例代码

    <navigator url="/pages/info/info" open-type="navigate">导航到info页面navigator>
    

    3)后退导航

    配置步骤

    • 声明组件
    • 指定open-type属性,即实现跳转的方式,后退跳转该属性必须为 navigateBack
    • 指定delta的值,表示要后退的层级数,必须是整数

    示例代码

    <navigator open-type="navigateBack" delta="1">返回上一页navigator>
    

     


     

     

    (4)编程式导航

    1)导航到tabBar页面

    配置步骤

    • 声明一个按钮组件
    • 为按钮绑定事件函数
    • 在时间处理函数中调用wx.switchTab(Object object)方法
    • 在函数体内指定url、success、fail等属性

    其中object参数对象的属性列表如下:

     (注意:url属性是必填项,其它是可选项)

    示例代码:

    .wxml

    <button bindtap="gotoIndex" type="default">点击跳转到home首页button> 
    

    .js

    1. //按钮点击事件处理函数,实现跳转到首页
    2. gotoIndex(){
    3. wx.switchTab({
    4. url: '/pages/index/index',
    5. success:function(){
    6. console.log('跳转成功!')
    7. },
    8. fail:function(){
    9. console.log('跳转失败!')
    10. },
    11. complete:function(){
    12. console.log('已经触发跳转事件!')
    13. }
    14. })
    15. }

    2)导航到非tabBar页面

    配置步骤

    • 声明一个按钮组件
    • 为按钮绑定事件函数
    • 在时间处理函数中调用wx.navigateTo(Object object)方法
    • 在函数体内指定url、success、fail等属性

    示例代码

    代码与上述同理,只是调用的小程序API不同,这里需要调用wx.navigateTo(Object object)方法

     

    3)后退导航

    配置步骤

    • 声明一个按钮组件
    • 为按钮绑定事件函数
    • 在时间处理函数中调用wx.navigateBack(Object object)方法
    • 在函数体内指定delta、success、fail等属性

     其中object参数对象的属性列表如下:

     示例代码

    .wxml

    <button bindtap="gotoBack" type="default">点击返回上一页面button> 

    .js

    1. gotoBack(){
    2. wx.navigateBack({
    3. //delta属性默认值为1 ,所以下面语句可写可不写
    4. delta:1
    5. })
    6. }

     


     

    (5)导航传参

    1)声明式导航传参

    navigator组件的url属性用来指定将要跳转到的页面的路径。同时,路径的后面可以携带参数:

    • 参数与路径之间使用 ? 分隔
    • 参数键与参数值之间用 = 相连
    • 不同的参数用 & 分隔

    示例代码

    "/pages/info/info?name=gy&number=1" open-type="navigate">导航到info页面

    传参结果

     

     2)编程式导航传参

    当调用wx.navigateTo(Object object)方法进行页面跳转时,也可以携带参数,与声明式导航传参同理,将参数写进url中,方法一致

    示例代码

    1. gotoInfo(){
    2. wx.navigateTo({
    3. url: '/pages/info/info?name=gy&number=1',
    4. success:function(){
    5. console.log('跳转成功!')
    6. },
    7. fail:function(){
    8. console.log('跳转失败!')
    9. },
    10. complete:function(){
    11. console.log('已经触发跳转事件!')
    12. }
    13. })
    14. }

  • 相关阅读:
    天翎知识管理系统:强大的权限管理功能,保障知识安全
    五、同步计数器及源码
    浅谈用Redis实现分布式锁的方案及细节
    高速路自动驾驶功能HWP功能定义
    Codeforces Round 884 (Div. 1 + Div. 2)C. Particles(找性质、奇偶性)
    互联网系统安全(一)
    【STL】string类(中)
    【luogu CF1140F】Extending Set of Points(线段树分治)
    Java培训了6个月,我竟然是第一个拿到offer的
    计算机毕业设计之java+javaweb的影院管理系统-电影院管理系统
  • 原文地址:https://blog.csdn.net/qq_52487066/article/details/125998690