小程序 wx.navigateTo传值总结
wx.navigateTo(Object object)
保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面。使用 wx.navigateBack 可以返回到原页面。小程序中页面栈最多十层。
具体参数参见微信公众平台 | 小程序 API
其中url参数是需要跳转到目标页面的路径,路径可以带参数,现在我们就看看这个参数怎么传递
1. 传参格式:参数与路径之间使用 ?
分隔,参数键与参数值用 =
相连,不同参数用 &
分隔;如 '/pages/index/index?value1=hello&value2=world'
2. 不同类型的参数传递:
Tip:其中下面的index是传值页面,text为接收参数页面
传递字符串
// index.js
onClick: function (e) {
var str = 'Hello World'
wx.navigateTo({
url: '../test/test?str=' + str,
success: function(res) {},
fail: function(res) {},
complete: function(res) {},
})
}
// test.js
onLoad: function(options) {
var str = options.str this.setData({
str: str
})
}
Tips:
1. 当传递的是布尔类型的话也会不变成字符串'true'/'false',通过var isTrue = (options.str == 'true') ? true : false 来设置
2. 当传递的是整型,通过字符串转整型来处理:var index = parseInt(options.str)
传递对象/数组:需要通过JSON.stringify将对象转换为字符串传递,接收时需要通过JSON.parse将字符串转换为对象
// index.js
onClick: function (e) {
var obj = JSON.stringify(myObj) //myObj:本js文件中的对象
wx.navigateTo({
url: '../test/test?obj=' + obj,
success: function(res) {},
fail: function(res) {},
complete: function(res) {},
})
}
// test.js
onLoad: function(options) {
var obj =JSON.parse(options.obj)
// testObj:本js文件中的对象
this.setData({
testObj: obj
})
}
注意:如果对象的参数或数组的元素中遇到地址,地址中包括?、&这些特殊符号时,对象/数组先要通过JSON.stringify转化为字符串再通过encodeURIComponent编码,接收时,先通过decodeURIComponent解码再通过JSON.parse转换为JSON格式的对象/数组
// index.js
onClick: function (e) {
var obj = JSON.stringify(myObj) //myObj:本js文件中的对象
wx.navigateTo({
url: '../test/test?obj=' + encodeURIComponent(obj), // 进行编码
success: function(res) {},
fail: function(res) {},
complete: function(res) {},
})
}
// test.js
onLoad: function(options) {
var obj =JSON.parse(decodeURIComponent(options.obj))
// testObj:本js文件中的对象
this.setData({
testObj: obj
})
}
小程序 wx.navigateTo传值总结的更多相关文章
- 微信小程序wx.navigateTo层叠5次限制,特殊情况的建议
小程序页面的实例使用栈的数据结构存储,栈内元素最多5个(换一种方式说,就是用户最多能点击5次返回),微信小程序能在栈中相对高层某个页面调用其他相对低层的页面实例的方法. 小程序三种页面跳转API 的区 ...
- 小程序wx.navigateTo和wx.redirectTo 都无效
最近在写小程序,遇到页面跳转时,发现有几次失败.查询资料已解决,总结一下知识点: 一.如下,第5层到到6层时失败(评论页⑤-->返回商品详情页⑥) 登陆①-->主页②-->商品列表页 ...
- 微信小程序wx.navigateTo页面不跳转
排查后发现: 若是在全局app.json中配置了tabBar,引用的链接与wx.navigateTo页面跳转url地址相同就无法实现跳转.
- 微信小程序 wx.navigateTo()传参及多个参数方法
var workModeAndPriceList = res.data.data.workModeAndPriceList; //var result = JSON.stringify(workMod ...
- 微信小程序——wx.navigateTo点击后没反应
首先,检查你跳转的目标路径是不是属于tabBar,若属于,且当前页面存在tabBar时,wx.navigateTo方法是失效的. 此时可用wx.switchTab方法,并记得在app.json中的&q ...
- 小程序 wx.navigateTo和 wx.redirectTo区别
wx.navigateTo 官方解释: 意思就是说. A页面跳转B页面 B页面做了操作,点击保存,再跳转回A页面 此时,如果点击左上返回按钮,仍然可以跳转回B页面,而且里面的数据是操作之前的数据 wx ...
- ***小程序wx.getUserInfo不能弹出授权窗口后的解决方案
微信更新api后,wx.getUserInfo在开发和体验版本都不能弹出授权窗口.微信文档说明: 注意:此接口有调整,使用该接口将不再出现授权弹窗,请使用 <button open-type=& ...
- 微信小程序wx.request接口
微信小程序wx.request接口 wx.request是小程序客户端与服务器端交互的接口 HTTPS 请求 一个微信小程序,只能同时(同时不能大于5个)有5个网络请求 wx.request(OBJE ...
- 监控微信小程序wx.request请求失败
在微信小程序里,与后台服务器交互的主要接口函数是wx.request(),用于发起 HTTPS 网络请求.其重要性不言而喻.然而,却经常遇到请求失败的问题,笔者特意谷歌"wx.request ...
随机推荐
- Ubuntu/Debian下编译PC版的ffmpeg
1.安装git: 在命令行下执行 sudo apt-get install git-core 2.下载最新版本的ffmpeg: git clone git://source.ffmpeg.org/ff ...
- 浏览器 本地预览图片 window.url.createobjecturl
第一种方式 <script type="text/javascript"> function setImagePreview() { var docObj = docu ...
- Android 开发之Android 应用程序如何调用支付宝接口
1.到支付宝官网,下载支付宝集成开发包 由于android设备一般用的都是无线支付,所以我们申请的就是支付宝无线快捷支付接口.下面是申请的地址以及下载接口开发包的网址:https://b.alipay ...
- Integer类型的数据比较大小
因为实体类用的是Integer包装类,所以是对象,不能直接比较大小, 一.一个Integer一个Int可以直接比较大小 二.两个Integer需要用.intValue()方法比较大小: 例如:cw.g ...
- 源码分享!!!world文档转换为JPG图片
http://bbs.csdn.net/topics/390055515 —————————————————————————————————————————————————— 基本思路是:先将worl ...
- C++ 函数的扩展②
//函数扩展--默认参数和占位参数 (了解) #include<iostream> using namespace std; /* 可以将占位参数与默认参数结合起来使用 意义 为以后程序扩 ...
- 浅析 Hadoop 中的数据倾斜
转自:http://my.oschina.net/leejun2005/blog/100922 最近几次被问到关于数据倾斜的问题,这里找了些资料也结合一些自己的理解. 在并行计算中我们总希望分配的每一 ...
- Update 语句用于修改表中的数据。
语法: UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
- EF 序列化实体为Json时的循环引用问题(不用自己写实体,不用匿名类型,不用EF的上下文属性)
自己写实体可以完美解决这个问题.(支持时间格式自定义) 用匿名类型也可以. 设置上下文方法如下: (jz为数据库上下文对象) jz.Configuration.ProxyCreationEnabled ...
- HDU 1284 钱币兑换问题(全然背包:入门题)
HDU 1284 钱币兑换问题(全然背包:入门题) http://acm.hdu.edu.cn/showproblem.php?pid=1284 题意: 在一个国家仅有1分,2分.3分硬币,将钱N ( ...