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

目录

一、页面导航

(1)概述

(2)分类

(3)声明式导航

1)导航到tabBar页面

2)导航到非tabBar页面

3)后退导航

(4)编程式导航

1)导航到tabBar页面

2)导航到非tabBar页面

3)后退导航

(5)导航传参

1)声明式导航传参

 2)编程式导航传参


一、页面导航

(1)概述

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

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

(2)分类

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

(3)声明式导航

1)导航到tabBar页面

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

配置步骤

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

示例代码

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

2)导航到非tabBar页面

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

配置步骤

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

示例代码

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

3)后退导航

配置步骤

  • 声明<navigator>组件
  • 指定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

//按钮点击事件处理函数,实现跳转到首页
  gotoIndex(){
    wx.switchTab({
      url: '/pages/index/index',
      success:function(){
        console.log('跳转成功!')
      },
      fail:function(){
        console.log('跳转失败!')
      },
      complete:function(){
        console.log('已经触发跳转事件!')
      }
    })
  }

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

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

 


 

(5)导航传参

1)声明式导航传参

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

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

示例代码

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

传参结果

 

 2)编程式导航传参

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

示例代码

 gotoInfo(){
    wx.navigateTo({
      url: '/pages/info/info?name=gy&number=1',
      success:function(){
        console.log('跳转成功!')
      },
      fail:function(){
        console.log('跳转失败!')
      },
      complete:function(){
        console.log('已经触发跳转事件!')
      }
    })
  }

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Aricl.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值