【微信小程序】使用页面跳转并携带多个特定参数
前言
在我们项目的搭建时常常会用到页面跳转,在微信小程序中也支持多个跳转类型。如(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({// 跳转到详情页面并携带活动idurl: '/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)//全部打印的值如下图所示},
})
这样我们就大功告成了,使用了比较简单的方法获取到了路由所携带的三个参数。
结语
如果有疑问欢迎大家留言讨论,你如果觉得这篇文章对你有帮助可以给我一个免费的赞吗?我们之间的交流是我最大的动力!
相关文章:
【微信小程序】使用页面跳转并携带多个特定参数
前言在我们项目的搭建时常常会用到页面跳转,在微信小程序中也支持多个跳转类型。如(wx.switchTab\wx.reLauch\wx.redirectTo\wx.navigateTo\wx.navigateBack)等等,每一个路由API都是有相对应的特定跳转功能,在这里我就不赘述了。微信开发者文…...
CVPR 2021 | Involution:超越convolution和self-attention的神经网络算子
CVPR 2021 | Involution:超越convolution和self-attention的神经网络算子 论文地址:https://arxiv.org/pdf/2103.06255v2.pdf 代码地址:https://github.com/d-li14/involution Involution卷积,文章描述说它比convolution更轻量更高效,形式上比self-attention更加简洁,可以…...
11 OpenCV图像识别之人脸识别
文章目录1 Eigenfaces1.1 建模流程1.2 示例代码2 Fisherfaces2.1 建模流程2.2 示例代码3 Local Binary Histogram3.1 建模流程3.2 示例代码OpenCV 提供了三种人脸识别方法:Eigenfaces Eigenfaces是一种基于PCA(Principal Component Analysis,…...
ssh设置:免密登入、修改默认端口、禁止root登入、限制错误登入次数
服务器: 客户端: 在下面不再说明服务器和客户端。 1.修改ssh默认端口 是在服务器中设置。 该设置涉及三部分:sshd配置文件修改/增加新端口、Selinux添加新端口、Firewall开放新端口。 vim /etc/ssh/sshd.config,找到#Port行&…...
【Fastdfs】| 入门连续剧——安装
作者:狮子也疯狂 专栏:《spring开发》 坚持做好每一步,幸运之神自然会降临在你的身上 目录一. 🦁 前言Ⅰ. 🐇 为什么要使用分布式文件系统?1.1 单机系统 vs 独立文件服务器1.2 分布式文件系统1.3 FastDFS引…...
【ESP32-S3】Pycharm 使用 microPython 教程(避坑)
一、下载Pycharm等操作 1.百度云下载链接 链接:https://pan.baidu.com/s/1tkbMzS5B_v-Cn4WQlTqS3Q?pwd0108 提取码:0108 2.安装 按照压缩包中的教程来,你懂的。 二、配置microPython环境 1.安装 microPython 插件 1.1 File > Sett…...
Allegro如何通过报表的方式检查单板上是否有假器件操作指导
Allegro如何通过报表的方式检查单板上是否有假器件操作指导 在做PCB设计的时候,输出生产文件之前,必须保证PCB上不能存在假器件,如下图,是不被允许的 当PCB单板比较大,如何通过报表的方式检查是否存在假器件,具体操作如下 点击Tools点击Reports...
清理bib文件(删除重复项,仅保留tex中引用的条目)
在写latex文件的过程中,经常会遇到添加了一堆文献的bibtex到bib文件中,有时候文章一长同一篇文献用不同的cite-key引用了多次,同时也会有一些文献最后并没被正文引用,这就需要对bib文件进行清理。 删除重复项 可以用JabRef 在J…...
Rust编程细节知识点拾遗
1.Rust中每一个引用都有生命周期,也就是引用保持有效的作用域。生命周期主要目标是避免悬垂引用,悬垂引用就是引用了已经释放的值。函数中,x的生命周期不能小于返回值得生命周期。当有x和y的时候,两者的生命周期是两个里面较小的那…...
【Linux】线程池
🎇Linux: 博客主页:一起去看日落吗分享博主的在Linux中学习到的知识和遇到的问题博主的能力有限,出现错误希望大家不吝赐教分享给大家一句我很喜欢的话: 看似不起波澜的日复一日,一定会在某一天让你看见坚持…...
运动版蓝牙耳机什么牌子的好、运动款蓝牙耳机推荐
何以解忧?唯有运动。事实已经无数次证明,运动不但可以让你更瘦身、更紧实,更重要的是精神状态也能焕然一新。不知道各位是不是也跟我一样,喜欢在运动的时候听着音乐。但是听音乐就需要有好的续航,否则运动一半没电了&a…...
MySQL中自带的数据库表相关介绍
mysql的自带数据库表主要有以下几个: (1)information_schema (2)performance_schema (3)mysql (4)sys (5)可能存在空数据库test 一、informa…...
【微信小程序】--注册小程序账号(一)
💌 所属专栏:【微信小程序开发教程】 😀 作 者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! &#…...
Java多线程 - 利用Callable或CompletableFuture实现多线程异步任务执行
文章目录1. Callable接口源码2. Future接口的源码3. RunnableFuture接口和FutureTask实现类4. 利用线程池和Callable接口实现异步执行任务5. 利用CompleteFutable实现多线程异步任务执行1. Callable接口源码 FunctionalInterface public interface Callable<V> {// 这个…...
【ts + webpack】贪吃蛇小游戏
目录 一、项目搭建 1.1 初始化项目 二、项目界面布局 三、完成Food类 四、完成记分牌类 五、初步完成snake类 六、创建游戏控制器类 - 键盘事件 七、GameControl - 使蛇移动 八、蛇撞墙和吃食检测 一、项目搭建 1.1 初始化项目 1.使用init命令生成package.json文件 …...
传统巨头生“变”,中国毫米波雷达市场战火再升级
进入2023年,中国车载毫米波雷达市场战火明显升级。 一方面,愈演愈烈的份额抢夺战不仅仅存在于几大传统巨头之间,也快速转移到与国产供应商之间;随着部分外资巨头的本土化战略深入落地,同时对国产供应商造成了压力。 …...
26岁曾月薪15K,现已失业3个月,我依然没有拿到offer......
我做测试5年,一线城市薪水拿到15K,中间还修了一个专升本,这个年限不说资深肯定也是配得上经验丰富的。今年行情不好人尽皆知,但我还是对我的薪水不是很满意,于是打算出去面试,希望可以搏一个高薪。 但真到面…...
华为OD机试 - 打印文件 | 机试题算法思路 【2023】
最近更新的博客 华为OD机试 - 简易压缩算法(Python) | 机试题算法思路 【2023】 华为OD机试题 - 获取最大软件版本号(JavaScript) 华为OD机试 - 猜字谜(Python) | 机试题+算法思路 【2023】 华为OD机试 - 删除指定目录(Python) | 机试题算法思路 【2023】 华为OD机试 …...
【前端】浏览器的渲染流程(完整)
本文主要包含以下内容:浏览器渲染整体流程解析 HTML样式计算布局分层生成绘制指令分块光栅化绘制常见面试题浏览器渲染整体流程浏览器,作为用户浏览网页最基本的一个入口,我们似乎认为在地址栏输入 URL 后网页自动就出来了。殊不知在用户输入…...
华为OD机试 - 有效子字符串 | 机试题算法思路 【2023】
最近更新的博客 华为OD机试 - 简易压缩算法(Python) | 机试题算法思路 【2023】 华为OD机试题 - 获取最大软件版本号(JavaScript) 华为OD机试 - 猜字谜(Python) | 机试题+算法思路 【2023】 华为OD机试 - 删除指定目录(Python) | 机试题算法思路 【2023】 华为OD机试 …...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...
CentOS下的分布式内存计算Spark环境部署
一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架,相比 MapReduce 具有以下核心优势: 内存计算:数据可常驻内存,迭代计算性能提升 10-100 倍(文档段落:3-79…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...
Web中间件--tomcat学习
Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机,它可以执行Java字节码。Java虚拟机是Java平台的一部分,Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...
三分算法与DeepSeek辅助证明是单峰函数
前置 单峰函数有唯一的最大值,最大值左侧的数值严格单调递增,最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值,最小值左侧的数值严格单调递减,最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...
Python网页自动化Selenium中文文档
1. 安装 1.1. 安装 Selenium Python bindings 提供了一个简单的API,让你使用Selenium WebDriver来编写功能/校验测试。 通过Selenium Python的API,你可以非常直观的使用Selenium WebDriver的所有功能。 Selenium Python bindings 使用非常简洁方便的A…...
Mysql故障排插与环境优化
前置知识点 最上层是一些客户端和连接服务,包含本 sock 通信和大多数jiyukehuduan/服务端工具实现的TCP/IP通信。主要完成一些简介处理、授权认证、及相关的安全方案等。在该层上引入了线程池的概念,为通过安全认证接入的客户端提供线程。同样在该层上可…...
简单聊下阿里云DNS劫持事件
阿里云域名被DNS劫持事件 事件总结 根据ICANN规则,域名注册商(Verisign)认定aliyuncs.com域名下的部分网站被用于非法活动(如传播恶意软件);顶级域名DNS服务器将aliyuncs.com域名的DNS记录统一解析到shado…...
