您现在的位置是:网站首页> 编程资料编程资料
微信小程序实现页面导航与传参功能详解_javascript技巧_
2023-05-24
225人已围观
简介 微信小程序实现页面导航与传参功能详解_javascript技巧_
一、页面导航
概述
顾名思义,页面导航指的是页面之间的相互跳转,
而页面传参就是在加载页面时将特定的参数传递过去从而成为该页面的参数。
分类
声明式导航:在页面上声明一个
编程式导航:通过调用小程序专门的导航API,实现页面之间的跳转
声明式导航
导航到tabBar页面
tabBar页面指的是被配置为底部tabBar的页面,点击实现页面间快速切换
配置步骤
声明
指定URL属性,即需要跳转到的页面的路径,注意路径必须以 / 开头
指定open-type属性,即实现跳转的方式,跳转到tabBar页面该属性必须为 switchTab
示例代码
导航到home首页
导航到非tabBar页面
非tabBar页面指的是没有被配置为底部tabBar的页面
配置步骤
- 声明
组件 - 指定URL属性,即需要跳转到的页面的路径,注意路径必须以 / 开头
- 指定open-type属性,即实现跳转的方式,跳转到tabBar页面该属性必须为 navigator
- (为了开发方便,官方规定此时open-type属性也可以省略不写)
示例代码
导航到info页面
后退导航
配置步骤
- 声明
组件 - 指定open-type属性,即实现跳转的方式,后退跳转该属性必须为 navigateBack
- 指定delta的值,表示要后退的层级数,必须是整数
示例代码
返回上一页
编程式导航
导航到tabBar页面
配置步骤
- 声明一个按钮组件
- 为按钮绑定事件函数
- 在时间处理函数中调用wx.switchTab(Object object)方法
- 在函数体内指定url、success、fail等属性
其中object参数对象的属性列表如下:

(注意:url属性是必填项,其它是可选项)
示例代码:
.wxml
.js
//按钮点击事件处理函数,实现跳转到首页 gotoIndex(){ wx.switchTab({ url: '/pages/index/index', success:function(){ console.log('跳转成功!') }, fail:function(){ console.log('跳转失败!') }, complete:function(){ console.log('已经触发跳转事件!') } }) }导航到非tabBar页面
配置步骤
- 声明一个按钮组件
- 为按钮绑定事件函数
- 在时间处理函数中调用wx.navigateTo(Object object)方法
- 在函数体内指定url、success、fail等属性
示例代码
代码与上述同理,只是调用的小程序API不同,这里需要调用wx.navigateTo(Object object)方法
后退导航
配置步骤
- 声明一个按钮组件
- 为按钮绑定事件函数
- 在时间处理函数中调用wx.navigateBack(Object object)方法
- 在函数体内指定delta、success、fail等属性
其中object参数对象的属性列表如下:

示例代码
.wxml
.js
gotoBack(){ wx.navigateBack({ //delta属性默认值为1 ,所以下面语句可写可不写 delta:1 }) }导航传参
声明式导航传参
navigator组件的url属性用来指定将要跳转到的页面的路径。同时,路径的后面可以携带参数:
- 参数与路径之间使用 ? 分隔
- 参数键与参数值之间用 = 相连
- 不同的参数用 & 分隔
示例代码
导航到info页面
传参结果

编程式导航传参
当调用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('已经触发跳转事件!') } }) }到此这篇关于微信小程序实现页面导航与传参功能详解的文章就介绍到这了,更多相关小程序页面导航内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
相关内容
- vue.js数据响应式原理解析_vue.js_
- vue 部署上线清除浏览器缓存的方式_vue.js_
- Vue SPA 如何解决浏览器缓存问题_vue.js_
- 解决axios:"timeout of 5000ms exceeded"超时的问题_vue.js_
- 低代码从0到1创建小程序项目详解流程_javascript技巧_
- 在 React Native 中给第三方库打补丁的过程解析_React_
- vue开发中关于axios的封装过程_vue.js_
- vue项目中使用require.context引入组件_vue.js_
- 微信小程序setInterval定时函数新手使用的超详细教程_javascript技巧_
- 关于前端文件下载各类方式大汇总_javascript技巧_
