微信小程序实现页面导航与传参功能详解

 更新时间:2022年08月02日 09:08:56   作者:Aricl.  
这篇文章主要为大家详细介绍一下微信小程序实现页面导航的几种方法以及帮助大家掌握微信小程序如何进行传递参数,感兴趣的朋友可以了解一下

一、页面导航

概述

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

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

分类

声明式导航:在页面上声明一个<navigator>导航组件,通过点击该组件实现页面跳转

编程式导航:通过调用小程序专门的导航API,实现页面之间的跳转

声明式导航

导航到tabBar页面

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

配置步骤

声明<navigator>组件

指定URL属性,即需要跳转到的页面的路径,注意路径必须以 / 开头

指定open-type属性,即实现跳转的方式,跳转到tabBar页面该属性必须为 switchTab

示例代码

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

导航到非tabBar页面

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

配置步骤

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

示例代码

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

后退导航

配置步骤

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

示例代码

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

编程式导航

导航到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('已经触发跳转事件!')
      }
    })
  }

导航到非tabBar页面

配置步骤

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

示例代码

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

后退导航

配置步骤

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

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

示例代码

.wxml

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

.js

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

导航传参

声明式导航传参

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

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

示例代码

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

传参结果

编程式导航传参

当调用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('已经触发跳转事件!')
      }
    })
  }

到此这篇关于微信小程序实现页面导航与传参功能详解的文章就介绍到这了,更多相关小程序页面导航内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 页面使用密码保护代码

    页面使用密码保护代码

    这是一个由JS实现的网页密码保护代码,在进入网页前需要在弹出框中输入密码才可以,不过现在不怎么用了,一般情况下,目前都在后台处理这种功能,用户输入用户名和密码后交给服务器处理,然后再返回信息,若登录无误就可看到某些内容
    2013-04-04
  • 小米公司JavaScript面试题

    小米公司JavaScript面试题

    这篇文章主要介绍了小米公司JavaScript面试题的个人解题方法,需要的朋友可以参考下
    2014-12-12
  • JS手写bind之处理new的情况详解

    JS手写bind之处理new的情况详解

    虽然很少会遇到给bind返回的函数做new操作的场景,但面试中还是会涉及到的,所以本文将实现一下兼容new操作的bind写法,顺便学习一下new操作符,需要的可以参考一下
    2022-07-07
  • ie9 提示''console'' 未定义问题的解决方法

    ie9 提示''console'' 未定义问题的解决方法

    关掉开发者工具之后,在状态栏发现提示'console' 未定义,为什么之前的运行没有问题,之后的就不行呢
    2014-03-03
  • JavaScript中“基本类型”之争小结

    JavaScript中“基本类型”之争小结

    所谓“基本类型(primitive types)”的概念ECMAScript(V3,V5)中压根就没有,它只是将类型分为6种,感兴趣的朋友可以参考下
    2013-01-01
  • 基于jQuery+PHP+Mysql实现在线拍照和在线浏览照片

    基于jQuery+PHP+Mysql实现在线拍照和在线浏览照片

    本文通过php jquery和mysql三者相结合,实现web版在线拍照上传并可在线浏览,下面给大家分享基于jQuery+PHP+Mysql实现在线拍照和在线浏览照片,需要的朋友可以参考下
    2015-09-09
  • 纯前端使用ffmpeg实现视频压缩的具体方法及踩坑

    纯前端使用ffmpeg实现视频压缩的具体方法及踩坑

    这篇文章主要给大家介绍了关于纯前端使用ffmpeg实现视频压缩的具体方法及踩坑,要在前端使用FFmpeg进行视频压缩,你可以使用FFmpeg的JavaScript,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-12-12
  • JS模板实现方法

    JS模板实现方法

    我们在使用JS渲染DOM时,一般使用字符串创建DOM然后附加到父元素上,如果附加的DOM是动态易变的,那需要在函数中写大量逻辑。如果在控件实现过程中,这带来的问题更为严重。
    2013-04-04
  • Echart结合圆形实现仪表盘的绘制详解

    Echart结合圆形实现仪表盘的绘制详解

    EChart开源来自百度商业前端数据可视化团队,基于html5 Canvas,是一个纯Javascript图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。本文将利用EChart实现仪表盘的绘制,感兴趣的可以学习一下
    2022-03-03
  • javascript插件开发的一些感想和心得

    javascript插件开发的一些感想和心得

    这篇文章主要介绍了javascript插件开发的一些感想和心得,需要的朋友可以参考下
    2016-02-02

最新评论