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传值总结的更多相关文章

  1. 微信小程序wx.navigateTo层叠5次限制,特殊情况的建议

    小程序页面的实例使用栈的数据结构存储,栈内元素最多5个(换一种方式说,就是用户最多能点击5次返回),微信小程序能在栈中相对高层某个页面调用其他相对低层的页面实例的方法. 小程序三种页面跳转API 的区 ...

  2. 小程序wx.navigateTo和wx.redirectTo 都无效

    最近在写小程序,遇到页面跳转时,发现有几次失败.查询资料已解决,总结一下知识点: 一.如下,第5层到到6层时失败(评论页⑤-->返回商品详情页⑥) 登陆①-->主页②-->商品列表页 ...

  3. 微信小程序wx.navigateTo页面不跳转

    排查后发现: 若是在全局app.json中配置了tabBar,引用的链接与wx.navigateTo页面跳转url地址相同就无法实现跳转.

  4. 微信小程序 wx.navigateTo()传参及多个参数方法

    var workModeAndPriceList = res.data.data.workModeAndPriceList; //var result = JSON.stringify(workMod ...

  5. 微信小程序——wx.navigateTo点击后没反应

    首先,检查你跳转的目标路径是不是属于tabBar,若属于,且当前页面存在tabBar时,wx.navigateTo方法是失效的. 此时可用wx.switchTab方法,并记得在app.json中的&q ...

  6. 小程序 wx.navigateTo和 wx.redirectTo区别

    wx.navigateTo 官方解释: 意思就是说. A页面跳转B页面 B页面做了操作,点击保存,再跳转回A页面 此时,如果点击左上返回按钮,仍然可以跳转回B页面,而且里面的数据是操作之前的数据 wx ...

  7. ***小程序wx.getUserInfo不能弹出授权窗口后的解决方案

    微信更新api后,wx.getUserInfo在开发和体验版本都不能弹出授权窗口.微信文档说明: 注意:此接口有调整,使用该接口将不再出现授权弹窗,请使用 <button open-type=& ...

  8. 微信小程序wx.request接口

    微信小程序wx.request接口 wx.request是小程序客户端与服务器端交互的接口 HTTPS 请求 一个微信小程序,只能同时(同时不能大于5个)有5个网络请求 wx.request(OBJE ...

  9. 监控微信小程序wx.request请求失败

    在微信小程序里,与后台服务器交互的主要接口函数是wx.request(),用于发起 HTTPS 网络请求.其重要性不言而喻.然而,却经常遇到请求失败的问题,笔者特意谷歌"wx.request ...

随机推荐

  1. wpa_cli 连接 wifi(转)

    wpa_cli 连接 wifi 转自:http://hi.baidu.com/yyangjjun/item/9dfe8e175439fc7a1009b5ba   1: run wpa_supplica ...

  2. 使用nio实现web服务器

    package com.nio; import java.io.IOException; import java.net.InetAddress; import java.net.InetSocket ...

  3. 0070 过滤器调用Spring的bean操作数据库

    假设有这样的需求:将用户每次请求的ip.时间.请求.user-agent存入数据库,很明显可以用过滤器实现,在过滤器中获取到这些数据调用mybatis的mapper存入数据库,但问题来了:mybati ...

  4. Ubuntu安装Nginx和正确卸载Nginx Nginx相关

    1.Ubuntu下安装Nginx比较简单 敲入下列命令即可: sudo apt-get update sudo apt-get install nginx 2.Ubuntu下卸载,稍不注意就会入坑 s ...

  5. FMC—扩展外部 SDRAM

    本章参考资料:< STM32F4xx 参考手册 2>.< STM32F4xx 规格书>.库帮助文档< stm32f4xx_dsp_stdperiph_lib_um.chm ...

  6. trk压力测试工具(测试tcp)

    wrk 是web站点压力测试工具 针对tcp协议的压力测试工具,没有找到合适的. 自己写一个,起名 trk.

  7. OpenERP Framework API存档

    一. openerp.Widget 方法列表 init:function(parent) destroy:function() appendTo:function(target) prependTo: ...

  8. hdu6134 Battlestation Operational 莫比乌斯第一种形式

    /** 题目:hdu6134 Battlestation Operational 链接:http://acm.hdu.edu.cn/showproblem.php?pid=6134 题意:f(n) = ...

  9. sed 指定行之间的内容替换

    [root@Cobbler logs]# cat aa.txt qqq123ppp123====123[root@Cobbler logs]# sed -i '2,5s#123#456#' aa.tx ...

  10. boost 互斥体和锁

    1.共享资源是一个自动锁住的房间,互斥体是钥匙,进入房间必须取钥匙,离开房间应该还钥匙.这就对应着互斥体的lock(取钥匙)和unlock(还钥匙). 2.考虑下面的场景:还钥匙的时候出现异常,会发生 ...