【微信小程序】使用页面跳转并携带多个特定参数

这篇具有很好参考价值的文章主要介绍了【微信小程序】使用页面跳转并携带多个特定参数。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

在我们项目的搭建时常常会用到页面跳转,在微信小程序中也支持多个跳转类型。如(wx.switchTab\wx.reLauch\wx.redirectTo\wx.navigateTo\wx.navigateBack)等等,每一个路由API都是有相对应的特定跳转功能,在这里我就不赘述了。

【微信小程序】使用页面跳转并携带多个特定参数

微信开发者文档关于路由的知识点

这里我们项目的需求是:点击了盒子后跳转至详情页面,并且携带活动的唯一的id值、用户类型(学生或者老师)、事件类型(活动详情、预约详情)。如果要实现该功能,我们需要传入一个特殊参数和两个普通参数。

现在我们将重点放在给路由传入多个特定参数上。首先我们知道可以给路径后携带一个或者多个参数,参数也有不同的类型:普通参数(给定值的参数)、特殊阐述(动态赋予的值,如数据库单个记录的_id等)。给跳转携带多个普通参数很简单,但是我们该如何让它携带一个特殊参数在加上若干个普通参数呢?


给路由携带多个普通参数

如传入给定的值参数我们这里称为普通参数如下所示。

       //跳转到详情页面
       goDetail(e){
              wx.navigateTo({
              // 跳转到详情页面并携带两个参数id1和id2,两个参数直接用&隔开
                url: '/pages/eventDetail/eventDetail?id1=1&id2=2'
              })
       },

在eventDetail页面打印的结果是:

Page({
       data:{
       },
       onLoad(option){
              console.log("列表所携带的值",option)
              //打印结果如下图所示
       },
})
【微信小程序】使用页面跳转并携带多个特定参数

给路由携带一个特殊参数

 <view class="mine_application_content" wx:for="{{imfor}}" >
               <!-- data-id:给view携带上_id的值-->
              <view class="event" bindtap="goDetail" data-id="{{item._id}}"
                     <view>活动名称:{{item.a1_huodongName}}</view>
                     <view class="eventTime">活动开始时间:{{item.a2_startTime}}</view>
              </view>
</view>
//跳转到详情页面
       goDetail(e){
              wx.navigateTo({
              // 跳转到详情页面并携带活动id
                url: '/pages/eventDetail/eventDetail?id=' +e.currentTarget.dataset.id
              })
            
       },
Page({
       data:{
       },
       onLoad(option){
              console.log("列表所携带的值",option.id)
              //打印结果如下图所示
       },
})
【微信小程序】使用页面跳转并携带多个特定参数

给路由携带一个特殊参数以及两个普通参数

  <!-- 活动内容 点击可跳转至详情页面 -->
  <view class="mine_application_content" wx:for="{{imfor}}" >
            <!-- 携带id、用户类型、事件类型(1为活动、2为预约)三个参数-->
          <view class="event" bindtap="goDetail" data-id="{{item._id}}" data-user="stu" data-type="1">
                 <view>活动名称:{{item.a1_huodongName}}</view>
                 <view class="eventTime">活动开始时间:{{item.a2_startTime}}</view>
          </view>
</view>

注:在JS部分我们不采用使用JSON转换的方法,而是采取先加后截的方法来获取各个参数,这里我们将用到JS中截取字符串的方法

  • string.substr( )

  • string.slice( a, b)

//跳转到详情页面
goDetail(e){
      wx.navigateTo({
      // 跳转到详情页面并携带活动id(包括记录id+用户类型+详情类型)
        url: '/pages/eventDetail/eventDetail?id=' +e.currentTarget.dataset.id + e.currentTarget.dataset.user + e.currentTarget.dataset.type
      })
},
Page({
       data:{
       },
       onLoad(option){
              let that = this
              //查看传入该页面的参数
              console.log("列表所携带的值",option.id)
              // 创建一个变量使其等于参数
              var parameters = option.id
              //创建一个type变量用来存储详情的类型截取参数的最后一位,1指的是活动,2指的是预约
              var type = parameters.substr(parameters.length-1)
              //创建一个user变量用来存储用户类型截取参数的最后三位
              var user = parameters.slice(-4,-1)
              this.setData({
                     user:user,
                     type:type
              })
              // 创建id变量来存放活动的_id字段所需要的值
              var id = parameters.slice(0,-4)
              console.log("user是",this.data.user)
              console.log("id是",id)
              console.log("type是",this.data.type)
              //全部打印的值如下图所示
       },
})
【微信小程序】使用页面跳转并携带多个特定参数

这样我们就大功告成了,使用了比较简单的方法获取到了路由所携带的三个参数。


结语

如果有疑问欢迎大家留言讨论,你如果觉得这篇文章对你有帮助可以给我一个免费的赞吗?我们之间的交流是我最大的动力!文章来源地址https://www.toymoban.com/news/detail-417128.html

到了这里,关于【微信小程序】使用页面跳转并携带多个特定参数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 短信跳转打开微信小程序的指定页面,可以携带参数

    本项目具体需求是短信跳转同一个小程序的不同页面,可以带参数。使用云函数和h5页面,开发时使用静态网站调试,后期h5页面后端另外部署的。 不属于原创,只是在使用的过程中参考以下教程,最终达到效果。现在记录下自己的实施过程。 微信小程序云函数使用教程【超

    2024年04月16日
    浏览(87)
  • 微信小程序内页跳转登录,登录完成后携带参数重新回到之前页面实现方法

    第一步:在app.js或utils.js中添加以下两个方法: 第二步:在跳转到登录页面跳转前调用setCallbackUrl方法(获当前页面的路径和参数存本地),登录页面登录成功后调用getCallBackUrl方法(提取之前存的路径和参数返回),如果没有就在catch中执行登录后的正常逻辑,比如跳转到默

    2024年02月02日
    浏览(62)
  • 微信小程序之间是如何跳转的,并携带参数

    要实现小程序之间的跳转,需要使用小程序的跳转 API。具体步骤如下:         1、在原小程序中,使用  wx.navigateToMiniProgram  API 跳转到目标小程序。         2、在目标小程序中,接收参数并进行处理。在目标小程序中,可以使用wx.getLaunchOptionsSync API获取原始启动参

    2024年02月16日
    浏览(46)
  • 微信小程序码生成,扫码携带参数进入指定页面

    一、准备工作 (1)微信小程序后台获取小程序的 appId 和 secret 小程序后台管理(开发管理➡开发设置) (2)扫码跳转的页面在 app.json 中已经注册 注册的路径与传过去的路径一致 (3)小程序已经有已发布的线上版本,否则会找不到页面报错 体验版的不行,找不到相应的页

    2024年02月15日
    浏览(55)
  • 微信小程序中使用wx.navigateTo跳转时页面出现空白

    在微信小程序中当触发点击事件后跳转的页面时,跳转的页面出现空白,控制台报Page \\\"pages/outline-xi/outline-xi\\\" has not been registered yet.可能是因为使用了tabbar时导致的app.json没有使页面初始化,需要把不是tabbar的页面调在前面就能解决问题。  

    2024年02月16日
    浏览(38)
  • uniapp(HBuilder X)实现微信小程序转发好友和分享朋友圈(携带多个参数)

    1.转发好友 2.分享朋友圈 需要注意的一些地方: 分享和转发内部不得有嵌套方法返回,也就是不可异步,否则在执行的时候,只会执行当前页面,自定义标题等都不会生效 转发代码块的存放级别与生命周期同级,分享代码块需要放进方法中(methods),不然不会生效 分享的参数携

    2024年02月16日
    浏览(67)
  • 【微信小程序】通过使用 wx.navigateTo方法进行页面跳转,跳转后的页面中通过一些方式回传值给原页面

    以下是几种常见的回传值的方式: 使用 wx.navigateTo 方法传递参数: 在跳转时,可以在目标页面的 URL 中携带参数,然后在目标页面的 onLoad 方法中获取参数,并在目标页面中进行处理。例如: 在目标页面的 onLoad 方法中获取参数: 使用 wx.navigateBack 方法回传值: 在目标页面中

    2024年02月13日
    浏览(56)
  • 微信小程序之间跳转,多个微信小程序相互跳转,小程序里如何跳转另一个小程序

    微信小程序之间跳转,多个微信小程序相互跳转,小程序里如何跳转另一个小程序 view代码 js代码

    2024年02月12日
    浏览(42)
  • 微信小程序:跳转页面

    实际调用需要根据自己业务实际情况决定,虽然各种方式一定程度上能减少内存损耗,但是业务上面流转优化才是最终要满足的,一定要从业务流转去优化去考虑,不要为了性能增加了流转复杂度 1、wx.navigateTo 保留当前页面,跳转到应用内的某个页面。可以通过调用  wx.na

    2024年02月03日
    浏览(66)
  • 微信小程序页面跳转方式+跳转小程序

    官方文档:https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.switchTab.html 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面 跳转到其他页面(非tabBar页) 返回上一页面或返回多级页面 首先需要在当前小程序app.json中定义:需要跳转的小程序的app-id app.josn文件: 第一种方法:wx.

    2024年02月12日
    浏览(79)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包